MySQL慢日志分析

慢日志记录MySQL中的慢SQL,以及没有用到索引的SQL。

慢日志阈值通过参数long_query_time设置,超过该值则计入慢日志文件或者慢日志表中。

查看和重置慢日志阈值:

show variables like 'long%';
set long_query_time=5; //仅对当次服务器开启有效

修改my.cnf(Linux下)或者my.ini(Windows下)配置文件,则永久开启慢日志:

// 慢查询日志存放的位置
log-slow-queries=/var/lib/mysql/localhost-slow.log
//slow_query_log 慢查询开启状态  1 为开启
slow_query_log =1
//阈值
long_query_time=5

在这里插入图片描述

查看慢日志有关键值信息:

show variables like slow%;

默认slow_query_log为OFF,即未开启慢日志。

开启慢日志:

set global slow_query_log=1;

slow_launch_time: 慢查询超过的执行时间值
[外链图片转存失败(img-dEjJ2pOc-1564239256372)(en-resource://database/3206:0)]

开启慢日志后,模拟一个慢sql:
select sleep(6);
执行结束后,会在\mysql\data\下生产slow.log日志文件。

查看慢日志条数:

show global status like '%Slow_queries%';

在这里插入图片描述

log_queries_not_using_indexes参数

如果运行的sql没有使用索引,如果开启了log_queries_not_using_indexes参数,如果该sql语句没有用到索引,则该sql会被记录慢日志。

查看log_queries_not_using_indexes开启状态:
show variables like 'log_queries_not_using_indexes';

慢日志格式

log_output参数指定了慢查询输出的格式,默认为file,就是上面提到过的slow.log日志文件。可以将它设置为table,则慢日志被记录到mysql数据库(安装mysl是默认的建立的数据库)中的slow_log表中。

查看和设置log_output参数:

show variables like 'log_output';
set global log_output='TABLE';

在这里插入图片描述

模拟慢日志:
select sleep(6);
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值