mysql慢查询日志配置_MySQL 慢查询日志配置与简析

MySQL慢查询日志配置与简析

By:授客 QQ:1033553122

<1> 查看是否开启慢查询日志

SHOW VARIABLES LIKE 'slow%';

59c50fc863090040eede5507c2d038c3.png

说明:

a.如果slow_query_log参数值为OFF则表示没开启,如果为ON则表示开启

b.slow_query_log_file 参数值为慢查询日志存放路径与名称(5.6及以上版本)。可以不设置该参数,系统则会默认给一个缺省的文件host_name-slow.log

<2> 查看慢查询时间阈值

a4c26d1e5885305701be709a3d33442f.png

说明:

long_query_time参数值,单位默认为秒。如上图,查询耗时超过long_query_time参数值(默认10s)的查询会被定义为慢查询,且记录到慢查询日志

<3>开启并配置慢查询

永久生效

找到mysql配置文件my.conf,编辑,在[mysqld]结点(如果没找到则手动新增)下新增以下语句

[myslqd]

……

slow-query-log = on

slow_query_log_file = /var/log/mysql_slow_query.log

long_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.log

Time

Id

Command

Argument

# Time: 161213 14:52:10

# User@Host: testacc[testacc] @

[192.168.1.101]

# Thread_id: 2  Schema: employees

QC_hit: No

# Query_time: 68.258781  Lock_time: 0.000722

Rows_sent: 5000000

Rows_examined: 5000000

use 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条。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值