内容:介绍mysqldumpslow工具。
MySQL Version 5.7
mysqldumpslow是用于分析MySQL慢查询日志的工具。可以简化慢查询日志的分析。
mysqldumpslow会将相似的查询分到一起,这里的相似是指的只用数字和字符串参数不同。
关于MySQL慢查询日志相关内容请查看:《MySQL慢查询日志》
引用内容:
命令行选项、语法、参数含义
mysqldumpslow [options] [log_file …]
参数解释
以下是mysqldumpslow支持的选项:
而-a阻止这种处理,不要会将数字抽象成‘N’,也会将字符串抽象成‘S’。Demo:
#!/bin/sh cat /var/log/mysql/slow-query.log # ...... # # # Time: 2017-04-01T03:08:55.987817Z # # User@Host: root[root] @ localhost [127.0.0.1] Id: 106 # # Query_time: 2.549367 Lock_time: 0.000070 Rows_sent: 30 Rows_examined: 3226494 # SET timestamp=1491016135; # SELECT * FROM tbk_article # WHERE 1 # ORDER BY sort DESC,id DESC # LIMIT 0, 30; # # ...... mysqldumpslow /var/log/mysql/slow-query.log # ...... # # Count: 1 Time=0.00s (0s) Lock=0.00s (0s) Rows=0.0 (0), 0users@0hosts # Time: N-N-01T03:N:N.242579Z # # User@Host: taobaoke[taobaoke] @ localhost [] Id: N # # Query_time: N.N Lock_time: N.N Rows_sent: N Rows_examined: N # SET timestamp=N; # SELECT * FROM tbk_article # WHERE N # ORDER BY sort DESC,id DESC # LIMIT N, N # # ...... mysqldumpslow /var/log/mysql/slow-query.log -a # # Count: 1 Time=0.00s (0s) Lock=0.00s (0s) Rows=0.0 (0), 0users@0hosts # mysqld, Version: 5.7.15-log (MySQL Community Server (GPL)). started with: # # Time: 2017-04-01T01:11:13.039190Z # # User@Host: taobaoke[taobaoke] @ localhost [] Id: 87 # # Query_time: 7.388035 Lock_time: 0.000113 Rows_sent: 30 Rows_examined: 18020 # use taobaoke; # SET timestamp=1491009073; # SELECT * FROM tbk_article # WHERE 1 # ORDER BY sort DESC,id DESC # LIMIT 0, 30 #
host_name中可以包含通配符,默认是*(匹配所有)。
使用
默认只使用无参数的mysqldumpslow时,会根据my.cnf查找,datadir下的*-slow.log。如下:
shell> mysqldumpslow
Reading mysql slow query log from /usr/local/mysql/data/mysqld51-apple-slow.log
Count: 1 Time=4.32s (4s) Lock=0.00s (0s) Rows=0.0 (0), root[root]@localhost
Count: 3 Time=2.53s (7s) Lock=0.00s (0s) Rows=0.0 (0), root[root]@localhost
Count: 3 Time=2.13s (6s) Lock=0.00s (0s) Rows=0.0 (0), root[root]@localhost
如果慢查询日志指定了别的位置(通过设置:slow_query_log_file = /var/log/mysql/slow-query.log),会提示没有找到日志文件。如下:
Can’t find ‘/usr/local/mysql/data/*-slow.log’