红联Linux门户
Linux帮助

MySql慢日志

发布时间:2016-09-15 10:24:22来源:linux网站作者:ljihe
开启MySql慢日志能记录下所有执行超过long_query_time时间的SQL语句, 帮你找到执行慢的SQL, 方便我们对这些SQL进行优化。
 
查看慢日志是否开启,可以执行Sql语句查询一下相关记录:
show variables like '%quer%';  
如果看到当前log_slow_queries状态为OFF, 说明当前并没有开启慢查询。
 
找到MySql的配置文件,Linux下为 my.cnf ,Windows 下为 my.ini
若不清楚配置文件路径,可以使用以下命令查看MySql读取配置文件顺序:
[root@csooo /]# mysql --verbose --help | grep -A 1 'Default options'  
如果是mysqld则把mysql改成mysqld即可。
 
找到配置文件并编辑:
#开启  
log_slow_queries = ON  
#配置路径,注意此路径要有写权限  
log-slow-queries = /data/mysql/mysqllog/slow_queries.log  
#最长执行时间,单位秒  
long_query_time = 3  
#没有使用到索引的查询也将被记录在日志中  
log-queries-not-using-indexes
重启mysql服务:service mysql restart
 
如果业务比较大,慢日志文件很快就会变得很大很大,此时也会影响mysql的性能,所以,可以定时手动去清空这个日志文件:
[root@csooo /]# >slow_queries.log  
 
或者写个定时任务去执行相关的处理操作!
[root@csooo /]# crontab -e  
#进入编辑页面后添加  
0 12 15 * * >/data/mysql/mysqllog/slow_queries.log
这里是每个月的15号12点定时清空日志文件。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/24178.html