mysql慢查询日志过大及定期处理脚本

说明:
最近mySql数据库很慢,想了解下哪些sql语句的压力大,但mysql的slow_query.log太大,不好下载分析。可以通过mysqladmin flush-logs重新生成slow_query.log慢查询日志。

实现:

# mv slow_query.log  slow_query.log.bak.20131106  //修改原来slow_query.log名字
# mysqladmin  -uusername  -ppwd flush-logs  //可以看到生成了新的slow_query.log日志

试了下,这个命令不需要重启mysql,对线上机确实太重要了!!!

脚本:这个shell还没用过,这里先记录下!!

#!/bin/bash
# Program:
#       此程序用于定时切割mysql的慢查询日志!
# History:
# 2013/11/06	Guo	First release
# PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
# export PATH
slowlog=/var/logs/slow_query.log
mv $slowlog /tmp/slow_query.log.`date +%Y%m%d%H`.log
mysqladmin -uusername -ppasswd --socket=/tmp/mysql.sock flush-logs
find /tmp/slow_query.log -ctime +7 -exec rm -f {} ;  //删除7小时前日志

如需要定时切割,需要将该脚本放到计划任务(crontab -e)定时执行。。

附录:
暂空!!

发表评论

邮箱地址不会被公开。 必填项已用*标注