在Linux下,MySQL日志管理主要包括以下几个方面:
my.cnf(或my.ini)文件中进行。以下是一些常见的日志配置选项:[mysqld]
# 错误日志
log_error = /var/log/mysql/error.log
# 慢查询日志
slow_query_log = 1
long_query_time = 2
slow_query_log_file = /var/log/mysql/slow-query.log
# 查询日志
general_log = 1
general_log_file = /var/log/mysql/general-query.log
# 二进制日志
log_bin = /var/log/mysql/mysql-bin.log
binlog_format = MIXED
expire_logs_days = 7
max_binlog_size = 100M
logrotate工具进行日志轮转。创建一个/etc/logrotate.d/mysql文件,添加以下内容:/var/log/mysql/*.log {
daily
missingok
rotate 7
compress
notifempty
create 640 mysql adm
}
这将每天轮转MySQL日志文件,保留最近7天的日志,并对旧日志进行压缩。
pt-query-digest工具分析慢查询日志,找出性能瓶颈。例如:pt-query-digest /var/log/mysql/slow-query.log > slow-query-analysis.txt
expire_logs_days参数来自动清理二进制日志,或者手动删除日志文件。总之,合理配置和管理MySQL日志对于数据库的维护和性能优化至关重要。希望以上信息对您有所帮助。