【实用脚本】MySQL慢查询日志的切割与清理

tanglu 3107 2020-02-08

MySQL的慢查询日志默认是全部写在同一个文件中,随着日志量的增大,这个文件的体积也会越来越大,后期进行日志分析则会消耗很多不必要的时间。虽然通过logratate可以配置日志轮询,但是相对麻烦,这里推荐使用最简单的cp命令对慢日志进行备份实现按天切割的效果

DATE=`date +'%Y%m%d'`
cp -ar /data/dblog/mysql3310/mysql.slow  /data/dblog/mysql3310/mysql.slow.${DATE}
>/data/dblog/mysql3310/mysql.slow

这里有个问题需要注意,如果是单纯的想去清理慢日志,直接使用echo >这样是不行的,因为文件句柄还被占用,磁盘空间并不会得到释放,所以正确的做法是增加一个mysqladmin命令对慢日志进行刷新的步骤

#!/bin/bash
slowlog=/data/dblog/mysql3310/mysql.slow
mv $slowlog /data/dblog/mysql3310/mysql.slow.`date +%Y%m%d`
mysqladmin -uroot -p123456 -S /tmp/mysql3310.sock flush-logs slow 2>/dev/null


版权声明
本站所有文章均为原创,转载请注明出处!小站维护不易,如果对您有所帮助,希望能点击一下站内广告,谢谢!
上一篇:【实用脚本】MySQL5.7多实例安装脚本
下一篇:【MySQL运维】MySQL分库备份脚本
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

微信二维码