MySQL慢查询日志配置与简析
http://www.cnblogs.com/kerrycode/p/5593204.html<1>查看是否开启慢查询日志
SHOW VARIABLES LIKE 'slow%';
说明:a. 如果slow_query_log参数值为OFF则表示没开启,如果为ON则表示开启b. slow_query_log_file 参数值为慢查询日志存放路径与名称(5.6及以上版本)。可以不设置该参数,系统则会默认给一个缺省的文件host_name-slow.log
<2> 查看慢查询时间阈值
说明:long_query_time参数值,单位默认为秒。如上图,查询耗时超过long_query_time参数值(默认10s)的查询会被定义为慢查询,且记录到慢查询日志
<3>开启并配置慢查询
永久生效找到mysql配置文件my.conf,编辑,在结点(如果没找到则手动新增)下新增以下语句……slow-query-log = onslow_query_log_file = /var/log/mysql_slow_query.loglong_query_time = 1
注意:slow_query_log_file文件所在父级目录,mysql必须具备可写权限
临时生效SET GLOBAL slow_query_log=ON;
SET GLOBAL long_query_time = 2; 执行该命令后,SHOW VARIABLES LIKE 'long%';查看参数值还是原来的值,需要开启另一个新会话,才能看到修改后的配置。
注:以上配置重启后失效
<4> 重启mysql让配置生效
<5> 查看慢查询日志
tail -f /var/log/mysql_slow_query.logTime Id Command Argument# Time: 161213 14:52:10# User@Host: testacc @# Thread_id: 2Schema: employeesQC_hit: No# Query_time: 68.258781Lock_time: 0.000722Rows_sent: 5000000Rows_examined: 5000000use employees;SET timestamp=1481611930;select * from employee t1 limit 0, 5000000000;
如上,我们可看到,sql:“select * from employee t1 limit 0, 5000000000;”这条慢查询,查询耗时(Query_time)为68.258781s,执行该语句时,锁定时间(Lock_time)为0.000722秒,检索记录行数(Rows_examined):5000000条,返回记录数(Rows_sent)5000000条。
页:
[1]