美文网首页
mysql慢查询日志

mysql慢查询日志

作者: winlans | 来源:发表于2017-07-07 23:11 被阅读83次

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

    • explain 执行计划,可以查看单条sql语句的具体执行过程
    • 开启mysql的慢查询日志功能
      下面,主要阐述的就是mysql的慢查询启用和分析方法
      (mysql version is 5.6)

    开启慢查询

    开启慢查询分为两种方法
    查询状态 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,输出如图
      慢查询分析结果
      好像差不多了,如果有什么不足,后续慢慢补吧

    相关文章

      网友评论

          本文标题:mysql慢查询日志

          本文链接:https://www.haomeiwen.com/subject/lbwrhxtx.html