MySQL日志轮转依赖logrotate工具,需配置其定期轮转错误日志、慢查询日志等,通过kill -USR1信号通知MySQL重新打开日志文件,确保日志管理有效且不占用过多磁盘空间。

MySQL 的日志轮转(Log Rotation)并不是由 MySQL 自身直接完成的,而是通过操作系统层面的工具如 logrotate 来实现。合理配置日志轮转可以防止日志文件过大占用磁盘空间,并便于日志归档和管理。
在配置轮转前,先确认 MySQL 启用了哪些日志以及它们的存储路径。常见的日志包括:
查看当前日志配置:
mysql> SHOW VARIABLES LIKE '%log%';
重点关注以下变量:
log_error:错误日志路径slow_query_log_file:慢查询日志路径general_log_file:通用日志路径例如输出可能为:
+---------------------+----------------------------------+ | Variable_name | Value | +---------------------+----------------------------------+ | log_error | /var/log/mysql/error.log | | slow_query_log_file | /var/log/mysql/slow.log | | general_log_file | /var/log/mysql/general.log | +---------------------+----------------------------------+
大多数 Linux 发行版默认已安装 logrotate。如果没有,请使用以下命令安装:
yum install logrotate # CentOS/RHEL apt-get install logrotate # Ubuntu/Debian
创建 MySQL 专属的 logrotate 配置文件:
/etc/logrotate.d/mysql
写入以下内容(根据实际路径调整):
/var/log/mysql/*.log {
daily
missingok
rotate 7
compress
delaycompress
notifempty
create 640 mysql mysql
sharedscripts
postrotate
if [ -f "/var/run/mysqld/mysqld.pid" ]; then
kill -USR1 `cat /var/run/mysqld/mysqld.pid`
fi
endscript
}
参数说明:
注意:kill -USR1 会触发 MySQL 重新打开日志文件句柄,确保写入新文件。
确保日志目录对 mysql 用户可写:
chown -R mysql:mysql /var/log/mysql/ chmod 750 /var/log/mysql/
如果日志路径不在标准位置,请同步修改 SELinux 或 AppArmor 规则(如适用)。
使用以下命令测试配置是否正确:
logrotate -d /etc/logrotate.conf # 调试模式查看执行流程 logrotate -f /etc/logrotate.d/mysql # 强制执行一次轮转测试
检查日志目录中是否生成了类似 error.log.1 或 slow.log.1.gz 的文件。
查看系统日志确认无报错:
tail /var/log/syslog | grep logrotate # 或 tail /var/log/messages | grep logrotate
SET GLOBAL general_log = 'OFF';
SET GLOBAL long_query_time = 2;
/etc/my.cnf 持久化:[mysqld] slow_query_log = 1 slow_query_log_file = /var/log/mysql/slow.log log_error = /var/log/mysql/error.log # general_log = 0 (默认关闭)
基本上就这些。MySQL 日志轮转依赖外部工具管理,关键是配置好 logrotate 并发送信号让 mysqld 重新加载日志句柄。只要路径正确、权限到位、信号触发正常,就能稳定运行。
以上就是如何在mysql中配置日志轮转_mysql日志轮转安装配置的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号