在CentOS环境下,MySQL日志管理主要包括以下几个方面:
/etc/my.cnf
或/etc/mysql/my.cnf
。你可以在这个文件中设置日志相关的参数。例如:[mysqld]
部分添加或修改log-error
参数,指定错误日志的路径。[mysqld]
部分添加或修改slow_query_log
参数,启用慢查询日志;设置long_query_time
参数,指定慢查询阈值;设置slow_query_log_file
参数,指定慢查询日志的路径。[mysqld]
部分添加或修改general_log
参数,启用通用查询日志;设置general_log_file
参数,指定通用查询日志的路径。[mysqld]
部分添加或修改log-bin
参数,启用二进制日志;设置binlog_format
参数,指定二进制日志格式;设置expire_logs_days
参数,指定日志自动过期天数。logrotate
工具来实现。首先,确保logrotate
已安装:sudo yum install logrotate
然后,在/etc/logrotate.d/
目录下创建一个名为mysql
的文件,添加以下内容:
/var/log/mysql/*.log {
daily
missingok
rotate 7
compress
notifempty
create 0640 mysql adm
}
这个配置表示每天轮转一次日志,保留最近7天的日志,压缩旧日志,仅在日志文件非空时轮转,并设置日志文件的属主和属组。
mysqldumpslow
工具分析慢查询日志,找出执行时间较长的SQL语句。pt-query-digest
工具分析慢查询日志,生成详细的性能报告。mysqlbinlog
工具查看和分析二进制日志。通过这些方法,你可以更好地管理和优化MySQL数据库。