说明:
最近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)定时执行。。
附录:
暂空!!