MySQL的日志文件对于排查问题、监控数据库运行状态以及审计操作非常关键。合理配置日志可以提升运维效率和系统安全性。以下是MySQL常见日志类型的配置方法,适用于大多数MySQL版本(如5.7、8.0)。
启用错误日志(error log)
错误日志记录MySQL启动、运行或停止过程中发生的错误信息,是排查故障的第一手资料。
在MySQL配置文件中(通常是my.cnf或my.ini)添加或修改以下内容:[mysqld]
log-error = /var/log/mysql/mysql-error.log
配置通用查询日志(general query log)
通用日志记录所有连接和执行的SQL语句,适合调试但不建议长期开启,会影响性能。
[mysqld]
general_log = ON
general_log_file = /var/log/mysql/mysql-general.log
SET GLOBAL general_log = 'ON';
可通过查看日志文件观察客户端连接与SQL执行情况。启用慢查询日志(slow query log)
慢查询日志帮助识别执行时间较长的SQL语句,用于优化性能。
[mysqld]
slow_query_log = ON
slow_query_log_file = /var/log/mysql/mysql-slow.log
long_query_time = 2
log_queries_not_using_indexes = ON
二进制日志(binary log)配置
二进制日志记录所有更改数据的SQL语句(如INSERT、UPDATE),用于数据恢复和主从复制。
[mysqld]
log-bin = /var/log/mysql/mysql-bin.log
server-id = 1
binlog-format = ROW
基本上就这些。根据实际需求选择开启对应日志,避免全部长期开启造成磁盘压力。定期轮转和清理日志也很重要,可用logrotate工具管理。配置完成后建议重启MySQL服务使设置生效,并检查日志文件是否正常生成。
