我的服务器的MySQL慢速查询日志日益增长(现在37 MB),所以我想旋转它。如果我将当前日志文件移动到另一个文件夹,那么MySQL会自动创建另一个日志文件?想想看,我正在删除当前的日志文件,那么当另一个缓慢的查询出现时,MySQL会自动创建一个新的日志文件吗?旋转mysql缓慢查询日志
感谢
我的服务器的MySQL慢速查询日志日益增长(现在37 MB),所以我想旋转它。如果我将当前日志文件移动到另一个文件夹,那么MySQL会自动创建另一个日志文件?想想看,我正在删除当前的日志文件,那么当另一个缓慢的查询出现时,MySQL会自动创建一个新的日志文件吗?旋转mysql缓慢查询日志
感谢
您可以使用logrotate
脚本定期旋转MySQL的日志,并可能保留以前的日志(以节省空间)的数量有限。您可以使用您喜欢的任何时间表进行配置。
就个人而言,我发现它易于使用Webmin GUI
您可以设置每天的cron将被资平,清空日志文件配置:
zip /tmp/$(date +%Y-%m-%d)-slow-query-log.zip /var/lib/mysql/slow-queries.log
cat /dev/null > /var/lib/mysql/slow-queries.log
当然,如果你慢查询日志有你每天(或其他人)应该调查并修复这些不好的查询,所以记录的内容太多:)
这通常是不明智的。请参阅http://www.mysqlperformanceblog.com/2013/04/18/rotating-mysql-slow-logs-safely/和http://dev.mysql.com/doc/refman/5.1/en/log-file- maintenance.html。 – Neek 2013-07-29 03:46:22
你简直不能使用logrotate来做到这一点,你必须首先更改my.cnf中的文件名,做任何想做的事加载mysql。
如果您需要logrotate方式,那么您必须禁用当时的慢速查询日志。
perrota团队建议使用logrotate,并为我工作。
/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 [email protected]_save;'
endscript
rotate 150
}
我在CentOS上安装了webmind,但无法打开它。它说webmin服务正在运行,我可以通过https://www.myserver.com:10000/访问它,但是当我在浏览器中打开它时,什么都不会发生。我尝试过使用和不使用https。 SSL安装在服务器上。 – Ali 2011-01-05 07:37:37
然后,您应该首先解决webmin问题,也许在superuser.com上询问。或者,也许,你应该问**如何设置** logrotate条目;) – 2011-01-05 07:40:19
好吧,我设法运行webmin。我还在日志旋转中添加了MySQL,让我们看看会发生什么。 – Ali 2011-01-14 07:37:24