mysql慢查询日志

一、慢查询日志相关参数

1、slow_query_log :是否开启慢查询日志,1表示开启,0表示关闭。
2、log-slow-queries :旧版(5.6以下版本)MySQL数据库慢查询日志存储路径。可以不设置该参数,系统则会默认给一个缺省的文件host_name-slow.log
3、slow-query-log-file:新版(5.6及以上版本)MySQL数据库慢查询日志存储路径。可以不设置该参数,系统则会默认给一个缺省的文件host_name-slow.log
4、long_query_time :慢查询时间设置,当查询时间多于设定的时间值时,记录日志。

二、慢查询日志配置

默认情况下slow_query_log的值为OFF,表示慢查询日志是禁用的,可以通过设置slow_query_log的值来开启,如下所示:
1、查询慢日志是否开启。
mysql> show variables like '%slow_query_log%';
OFF 为关闭 ON为开启

2、开启慢查询日志
mysql> set global slow_query_log=1;

注意:使用set global slowquerylog=1开启了慢查询日志只对当前数据库生效,MySQL重启后则会失效。如果要永久生效,就必须修改配置文件my.cnf(其它系统变量也是如此)

3、永久开启慢查询日志
修改my.cnf文件,增加或修改参数slow_query_log 和slow_query_log_file后,然后重启MySQL服务器,
slow_query_log =1
slow_query_log_file=/usr/local/mysql/data/localhost-slow.log

三、慢查询时间设置。这个是由参数long_query_time控制,默认情况下long_query_time的值为10秒,可以使用命令修改,也可以在my.cnf参数里面修改

1、查询慢日志时间设置。
mysql> show variables like 'long_query_time';

2、设置慢查询日志时间。
mysql> set global long_query_time=5;