开启MYSQL慢查询日志,监控有效率问题的SQL

  • 操作步骤
    1. 首先使用用户登录linux客户端,执行命令 mysql -u mjb -p, mjb是数据库用户名,系统会提示输入密码,输入密码回车,登录成功
    2. 输入命令show variables like ‘slow_query_log‘,
      • 页面会显示是否开启了慢查询日志,slow_query_log =ON,代表已经开启
      • 如果未开启,则需要执行该命令set global slow_query_log=on;
    3. 通过设置log_queries_not_using_indexes开启为使用索引的监控
      • 输入命令show variables like ‘log_queries_not_using_indexes‘;
      • log_queries_not_using_indexes=OFF,代表未开启,需要执行该命令
      • set global log_queries_not_using_indexes=on;
    4. 通过long_query_time设置监控阀值,也就是超过多少秒就记录,单位是秒,此处设置为0.1也就是100毫秒
      • 输入命令show variables like ‘long_query_time‘;
      • 系统设置的为1秒,如果需要修改为0.1秒,则需要执行如下命令
      • set global long_query_time=0.1;
    5. 通过以上设计,基本上可以开始优化工作了,set global 只是全局session生效,重启后失效,如果需要以上配置永久生效,需要在mysql.cnf中配置
      • [mysqld]
        slow_query_log = 1
        log_queries_not_using_indexes =1
        long_query_time = 0.1
        slow_query_log_file = /apps/logs/mysql/slow3306.log
        如果是linux,就通过以下命令或service等其他方式重启
        启动:/etc/init.d/mysqld(mysql) start
        停止:/etc/init.d/mysqld(mysql) stop
        重启:/etc/init.d/mysqld(mysql) restart
        最后查看慢查询日志所在的位置,通过查看slow_query_log_file
      • 执行命令show variables like ‘slow_query_log_file‘ \G
      • 显示的日志记录在/apps/logs/mysql/slow3306.log目录
      • 测试
      • 记录成功
  • 字段名 含义
    Time int类型时间戳 加 时间 180913 10:39:57
    [email protected] 执行SQL的主机信息 mjb[mjb] @ localhost []
    Thread_id 线程id 5271182
    Query_time 执行时间 2.000219
    Lock_time 锁定时间 0.000000
    Rows_sent 返回记录数 1
    Rows_examined 扫描行数 0
    SET timestamp SQL执行用时 1536806397
    select sleep(2) SQL语句 select sleep(2);
    • 设置成功,性能测试完成,可以把监控到的慢SQL日志文件进行查看,看是哪些SQL语句需要进行优化

    原文地址:http://blog.51cto.com/6183574/2320772

    时间: 2024-10-14 06:41:42

    开启MYSQL慢查询日志,监控有效率问题的SQL的相关文章

    使用Mysql慢查询日志对有效率问题的SQL进行监控

    输入命令:show variables like 'slow%' 可以发现 slow_query_log 为 OFF(默认),表示未开启慢查询日志 slow_query_log_file 为慢查询日志文件 开启慢查询日志有两种方法 方法一: 临时开启        set global slow_query_log = on; #没有使用索引的sql将会被记录入慢查询日志        set global log_queries_not_using_indexes = on;   #查询时间大

    开启mysql慢查询日志

    查看配置: //查看慢查询时间 show variables like "long_query_time";默认10s //查看慢查询配置情况 show status like "%slow_queries%"; //查看慢查询日志路径 show variables like "%slow%"; 修改配置文件 在my.ini中加上下面两句话log-slow-queries = D:\wamp\mysql_slow_query.loglong_qu

    如何开启MySQL慢查询日志

    1, https://github.com/Meituan-Dianping/SQLAdvisor/blob/master/doc/QUICK_START.md http://www.ttlsa.com/mysql/meituan-sql-optimization-tool-sqladvisor/ 在MySQL客户端中输入命令: show variables like '%quer%'; 其中红框标注的选项是: -slow_query_log是否记录慢查询.用long_query_time变量的

    开启mysql慢查询日志并使用mysqldumpslow命令查看

    Mysql服务器有一项功能,可以检测到哪条sql语句查询得比较慢,就是慢查询slowlog,现在介绍如何开启. 在[mysqld]下面增加如下代码: long_query_time = 1 #定义超过1秒的查询计数到变量Slow_queries log-slow-queries = /var/log/slow.sql #定义慢查询日志路径. log-queries-not-using-indexes #未使用索引的查询也被记录到慢查询日志中(可选) 执行mysqldumpslow –h可以查看帮

    MySQL慢查询日志总结

    慢查询日志概念 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中.long_query_time的默认值为10,意思是运行10S以上的语句.默认情况下,Mysql数据库并不启动慢查询日志,需要我们手动来设置这个参数,当然,如果不是调优需要的话,一般不建议启动该参数,因为开启慢查询日志会或多或少带来一定的性能影响.慢查询日志支持将日志记录写入文件,也支持将日志记

    MySQL 慢查询日志总结

    慢查询日志概念 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中.long_query_time的默认值为10,意思是运行10S以上的语句.默认情况下,Mysql数据库并不启动慢查询日志,需要我们手动来设置这个参数,当然,如果不是调优需要的话,一般不建议启动该参数,因为开启慢查询日志会或多或少带来一定的性能影响.慢查询日志支持将日志记录写入文件,也支持将日志记

    (转)MySQL慢查询日志总结

    慢查询日志概念 原文:http://www.cnblogs.com/kerrycode/p/5593204.html MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中.long_query_time的默认值为10,意思是运行10S以上的语句.默认情况下,Mysql数据库并不启动慢查询日志,需要我们手动来设置这个参数,当然,如果不是调优需要的话,一般不建议启动该

    MySQL慢查询日志总结转

    MySQL慢查询日志总结 慢查询日志概念 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中.long_query_time的默认值为10,意思是运行10S以上的语句.默认情况下,Mysql数据库并不启动慢查询日志,需要我们手动来设置这个参数,当然,如果不是调优需要的话,一般不建议启动该参数,因为开启慢查询日志会或多或少带来一定的性能影响.慢查询日志支持将日志记

    Mysql慢查询日志脚本

    #!/bin/bash LOG=/diskb/mysql/slowlog/   #定义日志存储路径 DATE=`date +"%Y-%m-%d"`   #定义时间参数 user=root                                 #填写MySQL账户信息 passwd=123456 mysql -u$user -p$passwd -e "set global slow_query_log=0" #停止mysql慢查询日志 mysql -u$us