美文网首页Database TechmysqlMySQL学习
配置mysql slow和slow log 分析

配置mysql slow和slow log 分析

作者: 菩提老鹰 | 来源:发表于2016-01-09 16:09 被阅读429次

    title: 配置mysql slow和slow log 分析
    date: 2016-01-08
    comments: true
    category: DB
    tags: MySQL,slow log

    配置mysql slow

    • Mysql 5.5
      log-slow-queries = F:/MySQL/log/mysqlslowquery.log
      long_query_time = 2

    • Mysql 5.6
      show variables like '%slow_query%';
      slow-query-log=1/on
      slow-query-log-file=mysql-slow.log

      show global variables like '%long_query%';
        long_query_time=2
      
      show global variables like '%indexes%';
        log-queries-not-using-indexes
      
      show variables like  '%min_examined_row_limit%';
        min_examined_row_limit=0
      

    analyse MySQL slow log

    • 直接查询
      pt-query-digest slow.log > /tmp/slow-report.log

    • 最近12小时
      pt-query-digest --since=12h slow.log > /tmp/slow-report.log

    • 按时间时间范围
      pt-query-digest slow.log --since '2016-01-09 09:30:00' --until '2016-01-09 10:00:00' > /tmp/slow-report.log

    • 分析指定含有select语句的慢查询
      pt-query-digest --filter '$event->{fingerprint} =~ m/^select/i' slow.log > /tmp/slow-report.log

    • 针对某个用户的慢查询
      pt-query-digest --filter '($event->{user}|| "") =~ m/^root/i' slow.log > /tmp/slow-report.log

    • 查询所有的全表扫描 或 full join的慢查询
      pt-query-digest --filter '(($event->{Full_scan} || "") eq "yes") ||(($event->{Full_join} || "") eq "yes")' slow.log > /tmp/slow-report.log

    • 把查询保存到query_review表
      pt-query-digest --user=root –password=abc123 --review h=localhost,D=test,t=query_review--create-review-table slow.log > /tmp/slow-report.log

    • 把查询结果保存到query_history表
      pt-query-digest --user=root –password=abc123 --review h=localhost,D=test,t=query_ history--create-review-table slow.log_20140401
      pt-query-digest --user=root –password=abc123--review h=localhost,D=test,t=query_history--create-review-table slow.log_20140402

    • 通过tcpdump抓取mysql的tcp协议数据,然后再分析
      tcpdump -s 65535 -x -nn -q -tttt -i any -c 1000 port 3306 > mysql.tcp.txt
      pt-query-digest --type tcpdump mysql.tcp.txt> slow_report9.log

    • 分析binlog
      mysqlbinlog mysql-bin.000093 > mysql-bin000093.sql
      pt-query-digest --type=binlog mysql-bin000093.sql > slow_report10.log

    • 分析general log
      pt-query-digest --type=genlog localhost.log > slow_report11.log

    相关文章

      网友评论

        本文标题:配置mysql slow和slow log 分析

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