MySQL慢查询日志

2021-09-29  本文已影响0人  CodeYang

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);
    
上一篇 下一篇

猜你喜欢

热点阅读