zoukankan      html  css  js  c++  java
  • MySQL慢查询参数

    开启mysql慢查询日志

    修改/etc/mysql/my.cnf配置文件,添加:

    [mysqld]
    slow_query_log = on
    slow_query_log_file = /var/lib/mysql/slow.log
    long_query_time = 2

    参数详解:

    slow_query_log = on #开启慢查询日志(或设置1)
    
    slow_query_log_file = filename #指定日志文件保存路径,不指定的话默认在数据库文件目录下,名为hostname-slow.log
    
    long_query_time = 2 #表示慢查询阈值,SQL执行时间超过该值,则会记录到慢查询日志中。SQL的执行耗时不包含锁等待时间。
    log_queries_not_using_indexes=on #记录没有使用索引的查询语句。!可能导致日志文件激增,谨慎使用。配合log_throttle_queries_not_using_indexes 使用。 
    log_throttle_queries_not_using_indexes #表示每分钟允许记录到slow log的且未使用索引的sql语句次数。配合long_queries_not_using_indexes开启使用。
    min_examined_row_limit = 1000 #对于查询扫描行数小于此参数的SQL,将不会记录到慢查询日志中;
    
    log_slow_admin_statements #管理语句执行时间大于阈值也将写入到慢查询日志中,管理语句包括alter table, check table等等;
    
    log_slow_slave_statements #从库应用binlog,如果binlog格式是statement,执行时间超过阈值时,将写入从库的慢查询日志, 对于ROW格式binlog,不管执行时间有没有超过阈值,都不会写入到从库的慢查询日志。
    
    其中min_examined_row_limit参数表示SQL执行过程中扫描的行数阈值,如果扫描的行数小于该参数设置的值,即使SQL执行耗时大于慢查询阈值,也不会记录到慢查询日志中,该参数默认值为0。

    配置结束之后,需要重启才会生效。

    service mysqld restart

    登陆数据库查询下环境

    show variables like '%query%';

    执行一个慢查询语句

    select sleep(3);

    查看文件,看日志是否生成。

     

  • 相关阅读:
    洛谷P3763 [TJOI2017]DNA(后缀数组 RMQ)
    树莓派在身份证件核验领域应用
    Linux suse x86_64 环境上部署Hadoop启动失败原因分析
    用Spring Data JPA 基于内存存储pojo的简单案例
    短信发送AZDG加密算法
    【玩转Ubuntu】09. Ubuntu上安装apktool
    java遍历Map时remove删除元素
    wust 1061 链表的合并
    干货:yii日志功能详解
    xcode解决问题dyld: Library not loaded
  • 原文地址:https://www.cnblogs.com/loveyouyou616/p/11640583.html
Copyright © 2011-2022 走看看