• 6.5 慢查询日志


    1. 是什么?

    mysql的慢查询日志是mysql提供的一种日志记录,它用来记录mysql中响应时间超过阀值的语句,具体指运行时间超过lang_query_time值的SQL,则会被记录到慢查询日志中。
    
    具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是运行10秒以上的语句。
    
    由它来查看哪些SQL超过陪我们的最大忍耐时间值,比如一条sql的执行时间超过5秒钟,我们就会算SQL,希望能收集超过5秒的sql,结合explain进行全面的分析。
    

    2.查看和开启

    a.查看是否开启慢查询

    show variables like '%slow_query_log%'
    

    b.开启慢查询

    set global slow_query_log=1
    
    如果想永久生效,就必须修改配置文件my.cnf (其他系统变量也是如此)
    修改my.cnf文件,[mysqld]下增加或修改参数
    slow_query_log 和 slow_query_log_file后,然后重启MYSQL服务器。也就是将如下两行配置进入my.cnf文件
    slow_query_log=1 slow_query_log_file=/var/lib/mysql/xxxx-show.log 关于慢查询的参数slow_query_log_file,它指定慢查询日志文件的存放路径,系统默认会给一个缺省的文件host_name-show.log(如果没有指定参数slow_query_file的话)

    3. 查看设置的阀值

    show VARIABLES LIKE 'long_query_time%';
    

    4. 设置阀值

    set global long_query_time=3;#设置为3秒,默认是10秒。
    #设置后需要重新连接或打开一个新的回话才能看到修改的值。
    show VARIABLES LIKE 'long_query_time%';
    #不用重新连接的语句
    show global variables like 'long_query_time';
    
    #也可以在my.cnf参数里面修改。
    
    #假如运行时间等于long_query_time的情况,并不会被记录下来,也就是说,在mysql源码里是大于long_query_time,而非大于等于。
    

    5. 查询当前系统中有多少条慢查询记录

    show globle status like 'slow_queries';
    

    6. 配置模板

    #mysqld下的配置
    slow_query_log=1;
    slow_query_log_file=/var/lib/mysql/xxxx-slow.log;
    long_query_time=3;
    log_output=file;
    

    7.日志分析工具mysqldumpslow

    #得到返回记录集最多的10个SQL
    mysqldumpslow -s r -t 10 /var/lib/mysql/xxxx-slow.log
    
    #得到访问次数最多的10个SQL
    mysqldumpslow -s c -t 10 /var/lib/mysql/xxxx-slow.log
    
    #得到按照时间排序的前10条里面包含有左连接的擦查询语句
    mysqldumpslow -s t -t 10 -g "left join" /var/lib/mysql/xxxx-slow.log
    
    #另外建议在使用这些命令的时候结合 | 和more 使用,否则可能出现爆屏情况
    mysqldumpslow -s r -t 10 /var/lib/mysql/xxxx-slow.log | more
    

     

    关注我的公众号,精彩内容不能错过

      

  • 相关阅读:
    7.2对象的生命周期
    7.2.2垃圾收集和对象的终结
    7.1.2验证
    发现电脑上装着liteide,就用golang做一个TCP通讯测试(支持先启动client端和断线重连)
    C++读写局域网共享
    C++编写 动态链接库dll 和 调用dll
    VBA果然很强大
    [Windows]查看运行进程的参数【wmic】
    自旋锁-SpinLock(.NET 4.0+)
    C#并行和多线程编程
  • 原文地址:https://www.cnblogs.com/huanchupkblog/p/7651948.html
Copyright © 2020-2023  润新知