在Linux上,MariaDB的日志管理主要包括错误日志、查询日志、慢查询日志和二进制日志。以下是如何进行这些日志的管理:
错误日志记录了MariaDB服务器启动、运行和关闭过程中的错误信息。
查看错误日志:
sudo tail -f /var/log/mysql/error.log
配置错误日志位置和大小:
编辑/etc/my.cnf或/etc/mysql/my.cnf文件,添加或修改以下配置:
[mysqld]
log_error = /var/log/mysql/error.log
max_error_count = 1000
查询日志记录了服务器接收到的所有查询请求。
启用查询日志:
编辑/etc/my.cnf或/etc/mysql/my.cnf文件,添加或修改以下配置:
[mysqld]
general_log = 1
general_log_file = /var/log/mysql/query.log
禁用查询日志:
将general_log设置为0:
[mysqld]
general_log = 0
慢查询日志记录了执行时间超过指定阈值的查询。
启用慢查询日志:
编辑/etc/my.cnf或/etc/mysql/my.cnf文件,添加或修改以下配置:
[mysqld]
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow-query.log
long_query_time = 2
log_queries_not_using_indexes = 1
禁用慢查询日志:
将slow_query_log设置为0:
[mysqld]
slow_query_log = 0
二进制日志记录了所有对数据库进行更改的操作,用于数据复制和恢复。
启用二进制日志:
编辑/etc/my.cnf或/etc/mysql/my.cnf文件,添加或修改以下配置:
[mysqld]
log_bin = /var/log/mysql/mysql-bin.log
server_id = 1
expire_logs_days = 10
max_binlog_size = 100M
禁用二进制日志:
将log_bin设置为空:
[mysqld]
log_bin =
轮转日志:
可以使用logrotate工具来管理日志文件的轮转。编辑/etc/logrotate.d/mysql文件,添加以下配置:
/var/log/mysql/*.log {
daily
missingok
rotate 7
compress
notifempty
create 640 mysql adm
}
手动清理日志: 如果需要手动清理日志文件,可以使用以下命令:
sudo truncate -s 0 /var/log/mysql/error.log
sudo truncate -s 0 /var/log/mysql/query.log
sudo truncate -s 0 /var/log/mysql/slow-query.log
sudo truncate -s 0 /var/log/mysql/mysql-bin.log
在修改配置文件后,需要重启MariaDB服务以使更改生效:
sudo systemctl restart mariadb
确保日志文件的目录具有适当的权限,以便MariaDB进程可以写入日志。
通过以上步骤,你可以有效地管理MariaDB在Linux上的日志。