mysql慢查询日志

2017-07-07  本文已影响83人  winlans

当感到sql查询过慢的时候,我们一般有两种查看方法

开启慢查询

开启慢查询分为两种方法
查询状态 show variables like '%slow_query_log%;

慢查询状态
  1. 临时启用,直接使用sql 配置
    set global slow_query_log=1;
    slow_query_log_file是默认的慢查询存储的位置,可以更改
    开启之后
  2. 用就启用,在my.cnf文件中配置,有则改,无则添加配置项
slow_query_log =1
slow_query_log_file=/var/log/mysql/mysql_slow_query.log

怎么筛选较慢的sql语句呢

mysql 有个配置项叫long_query_time 可以精确到微秒,通过设置其值,我们可以定义超过多长时间为慢,默认为10s.
可以使用show variables like '%long_query_time%;来查看其值

默认值
设置 long_query_time的值

set global long_query_time=4;
使用show global variables like 'long_query_time' 来查看设置之后的状态

改变之后

接下来就可以使用了

使用之前,先重新链接一次
使用select sleep(5); 测试
查看日志

  1. 可以直接查看日志文件
    sudo less /var/lib/mysql/winlans-PC-slow.log
  2. 使用mysql慢日志分析工具
    sudo mysqldumpslow,输出如图
    慢查询分析结果
    好像差不多了,如果有什么不足,后续慢慢补吧
上一篇下一篇

猜你喜欢

热点阅读