我服务器的 MySQL 慢速查询日志每天都在增长(现在是 37 MB)所以我想轮换它。如果我将当前日志文件移动到另一个文件夹,那么 MySQL 会自动创建另一个日志文件吗?把它想象成我正在删除当前的日志文件,那么当另一个慢查询到来时,MySQL 会自动创建一个新的吗?
谢谢
最佳答案
你根本无法使用 logrotate 来做到这一点,你必须首先更改 my.cnf 中的文件名,然后再做任何想做的事情。重新加载 mysql。
如果你想要 logrotate 的方式,你必须在那个时候禁用慢查询日志。
logrotate 是 percona 团队建议的,对我有用。
/var/mysql/slow_query.log {
nocompress
create 660 mysql mysql
size 1G
dateext
missingok
notifempty
sharedscripts
postrotate
/usr/local/bin/mysql -e 'select @@global.long_query_time into @lqt_save; set global long_query_time=2000; select sleep(2); FLUSH LOGS; select sleep(2); set global long_query_time=@lqt_save;'
endscript
rotate 150
}
关于mysql - 轮转mysql慢查询日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4601658/