背景:
对于MySQL的日志,如果不做处理的话,时间长了会很大,不利于分析问题。比如说错误日志或者慢日志,经过半年一年可能已经很大了,你要想查看内容会很慢,搞不好把系统都可能跑挂。或者当你监控报警的时候提示磁盘空间不足,你登陆服务器发现都是log占用,我想这时候你也是崩溃的。这时候日志的切割和保留就显得比较重要了
操作:
root@rpc0804:/etc/logrotate.d# cat /etc/logrotate.conf
......
include /etc/logrotate.d
......
root@rpc0804:/home/worker/mysql/log# cd /etc/logrotate.d/
root@rpc0804:/etc/logrotate.d# cat mysql-slow-logs
/home/worker/mysql/log/mysql-slow.log {
daily
dateext
compress
missingok
notifempty
sharedscripts
create 640 mysql mysql
postrotate
/bin/mysql -e 'select @@global.slow_query_log into @sq_log_save; set global slow_query_log=off; select sleep(5); FLUSH SLOW LOGS; select sleep(10); set global slow_query_log=@sq_log_save;&

本文介绍了如何使用logrotate工具对MySQL的错误日志和慢查询日志进行定期切割,以避免日志过大影响系统性能。通过示例展示了logrotate配置,并提出对于慢查询日志,更适合按天切割并使用pt-query-digest进行分析,以协助DBA和开发人员优化查询。同时提到了相关资源和交流平台。
最低0.47元/天 解锁文章
347

被折叠的 条评论
为什么被折叠?



