• MySQL慢查询日志


    慢查询日志收集

    # 慢查询日志记录存储方式
    SHOW VARIABLES LIKE '%log_output%';
    #记录到文件,推荐
    SET GLOBAL log_output='FILE';
    #记录到日志表
    SET GLOBAL log_output='TABLE';
    #混合
    SET GLOBAL log_output='FILE,TABLE';
    
    
    # 查看是否开启慢查询日志
    SHOW VARIABLES  LIKE '%slow_query_log%';
    #开启
    SET GLOBAL slow_query_log=1;
    #设置日志名称路径
    SET GLOBAL slow_query_log_file="e:mysql_slow_query.log";
    
    # set global只对当前数据库生效,如果MySQL重启后则会失效
    # 如果要永久生效,就必须修改配置文件my.cnf/my.ini
    
    #slow_query_log =1
    #slow_query_log_file=E:mysqlmysql-5.7.15datahostname-slow.log
    
    #运行时间>long_query_time的记录到日志
    SHOW VARIABLES LIKE 'long_query_time%';
    #设置慢查询阈值
    SET GLOBAL long_query_time=2;
    #另外开窗口查看
    SHOW VARIABLES LIKE 'long_query_time%';
    #或使用下命令返回最新值
    SHOW GLOBAL VARIABLES LIKE 'long_query_time';
    
    SELECT sleep(4);
    
    
    # 未使用索引的查询也被记录到慢查询日志中
    SHOW VARIABLES LIKE 'log_queries_not_using_indexes';
    #将所有没有使用到索引的sql语句都记录到慢查询日志中
    SET GLOBAL log_queries_not_using_indexes=1;
    
    # 多少条慢查询记录,可以使用系统变量
    SHOW GLOBAL STATUS LIKE '%Slow_queries%';
    
    
    #存储方式为日志表
    SELECT * FROM mysql.slow_log;
    TRUNCATE TABLE mysql.slow_log
    
    ##存储为文件时,查看慢查询日志
    #安装ActivePerl  http://www.activestate.com/activeperl
    #cmd命令
    mysqldumpslow.pl --help
    mysqldumpslow.pl -s c -t 10 E:mysqlmysql-5.7.15datahostname-slow.log
    View Code

    慢查询日志分析
    将数据库服务器(5.5.53-0ubuntu0.14.04.1)收集到的慢日志文件拿到本地(Windows7)分析

    ##存储为文件时,查看慢查询日志
    #Windows环境先安装ActivePerl  http://www.activestate.com/activeperl
    #cmd命令
    mysqldumpslow.pl --help
    
    #按执行时长/次数前10
    perl E:MySQLmysql-5.5.54inmysqldumpslow.pl -s t -t 10 F:GLGame116slowlogiZwz93ljqlvdsrwa7d6iobZ-slow_new.log >F:GLGame116slowlogAnalysebByT.txt
    perl E:MySQLmysql-5.5.54inmysqldumpslow.pl -s c -t 10 F:GLGame116slowlogiZwz93ljqlvdsrwa7d6iobZ-slow_new.log >F:GLGame116slowlogAnalysebByC.txt

    注意,mysqldumpslow.pl所属数据库的版本应该与慢查询日志所属数据库版本的发行序列号(前两位)一致。最开始本地用5.7.15/5.6.33的去分析5.5.53收集到的慢查询日志

    高版本得到的分析结果Time/Lock/Rows全部是0。
    使用PowerShell查找关键字得到样例语句

    select-string *.log -pattern "KeyWords" -List


    EXPLAIN样例语句,分析执行计划。

  • 相关阅读:
    python高级函数六剑客
    测试工程师用到常用的git命令
    qing理解赋值,深浅拷贝的区别
    python设计模式之单例
    Python全栈之jQuery笔记
    畅谈python之单元测试框架-unittest
    浅析python之单元测试框架-unittest
    Python之日志处理(logging模块)
    Spring整理
    Spark学习笔记11面向对象编程
  • 原文地址:https://www.cnblogs.com/ShanFish/p/6255254.html
Copyright © 2020-2023  润新知