美文网首页
Mysql 慢SQL配置

Mysql 慢SQL配置

作者: 栈木头 | 来源:发表于2018-08-23 18:38 被阅读0次

    初衷

    抽空整理一下Mysql 慢SQL的配置和分析。

    资料

    使用

    (直译)慢查询日志由SQL语句组成,这些SQL语句执行时间超过long_query_time秒,并且至少需要检查min_examined_row_limit行。long_query_time的最小值和默认值分别为0和10。该值可以指定为微秒的分辨率。对于记录到文件,写入包括微秒部分的时间。对于记录到表,只写入整数倍;

    配置方式

    一、通过修改/etc/my.cnf,添加配置
    优点:全局生效
    缺点:需要重启Mysql

    二、通过SQL命令set global slow_query_log=1直接修改环境变量
    优点:立即生效
    缺点:只对当前数据库生效,重启Mysql后失效

    配置参数

    slow_query_log是否启用日志。如果参数为0则禁用日志,为1则启用日志。

    slow-query-log-file 日志文件指定。(可输出到文件或者数据库详见官网文档)

    long_query_time 执行时间超过几秒的SQL语句,最小值和默认值分别为0和10。

    范例 my.cnf 配置

    #my.cnf文件
    
    #是否开启慢查询日志,1表示开启,0表示关闭。
    slow-query-log = 1
     
    #MySQL数据库慢查询日志存储路径
    slow-query-log-file = /var/lib/mysql/mysql-slow.log
     
    #慢查询阈值,当查询时间多于设定的阈值时,记录日志。单位:秒
    long_query_time = 10
    

    范例 show variables 配置

    mysql> show variables  like '%slow_query_log%';
    +---------------------+---------------------------------------------------------+
    | Variable_name       | Value                                                   |
    +---------------------+---------------------------------------------------------+
    | slow_query_log      | OFF                                                     |
    | slow_query_log_file | /usr/local/mysql/data/xxx-xxx-slow.log |
    +---------------------+---------------------------------------------------------+
    
    mysql> set global slow_query_log=1;
    

    相关文章

      网友评论

          本文标题:Mysql 慢SQL配置

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