在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数据库。