美文网首页
MySQL慢查询日志

MySQL慢查询日志

作者: CodeYang | 来源:发表于2021-09-29 09:44 被阅读0次

    MySQL慢查询日志

    以下笔记来自于该视频:https://www.bilibili.com/video/BV1KW411u7vy?p=20&share_source=copy_web

    MySQL慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阙值的语句,具体指运行时间超过 long_query_time 值的SQL,则会被记录到慢查询日志中。

    具体指运行时间超过 long_query_time 值的SQL,则会被记录到慢查询日志中。long_query_time 的默认值是10,意思是运行超过 10秒以上的语句。

    默认情况下,MySQL数据库没有开启慢查询日志,需要手动设置。

    当然,如果不是调优需要的话,一般不建议启动该参数,因为开启慢查询日志会或多或少带来一定的性能影响。慢查询日志支持将日志写入文件。

    查看是否开启慢查询日志

    查看慢查询日志是否开启

    -- 查看是否开启慢查询日志
    SHOW VARIABLES LIKE '%slow_query_log%';
    
    image.png
    开启慢查询日志
    1. 方式一通过命令开启慢查询日志

      --开启慢查询日志,只对当前数据库生效,重启之后失效
      SET GLOBAL slow_query_log = 1;
      
    2. 通过配置文件设置,找到目录下 my.ini 文件,添加以下配置

      #开启慢查询日志
      slow_query_log = 1
      slow_query_log_file = D:\Soft\mysql-8.0.24-winx64\data\slow_query_log.log
      long_query_time = 10
      
    设置慢查询日志时间
    --查看慢查询日志时间
    SHOW VARIABLES LIKE 'long_query_time%';
    --设置时间 3 秒
    SET GLOBAL long_query_time = 3;
    
    查看慢查询日志
    1. 开启慢查询日志并设置时间

      SET GLOBAL slow_query_log = 1;
      SET GLOBAL long_query_time = 3;
      
    2. 执行一个慢查询语句

      select sleep(4)
      
    3. 慢查询日志展示

      D:\Soft\mysql-8.0.24-winx64\bin\mysqld, Version: 8.0.24 (MySQL Community Server - GPL). started with:
      TCP Port: 3306, Named Pipe: MySQL
      Time                 Id Command    Argument
      # Time: 2021-09-29T09:05:44.838540Z
      # User@Host: root[root] @ localhost [::1]  Id:    10
      # Query_time: 4.004043  Lock_time: 0.000000 Rows_sent: 1  Rows_examined: 1
      SET timestamp=1632906340;
      select sleep(4);
      

    相关文章

      网友评论

          本文标题:MySQL慢查询日志

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