mysql 慢查询日志 mysqldumpslow 工具
1.使用Mysql慢查询日志配置
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
查看慢查询日志是否开启 OFF关闭 ON开启show variables like 'slow_query_log'开启慢查询日志set global slow_query_log = on慢查询日志所存储的文件位置show variables like 'slow_query_log_file'设置慢查询日志位置set global slow_query_log_file = '/var/lib/mysql/iZbp1akzlq26t30fbsdwh7Z-slow.log'是否吧没有使用索引的sql记录到慢查询日志当中 PFF关闭 ON开启show variables like 'log_queries_not_using_indexes'设置吧没有使用索引的sql记录添加到慢查询日志当中set global log_queries_not_using_indexes = on;查看long_query_time设置的时间show variables like 'long_query_time';超过多少秒之后的查询记录到慢查询日志当中set [session|global] long_query_time = 1 |
2.慢查询日志存储格式
|
1
2
3
4
5
6
7
8
9
10
|
-- 执行sql时间# Time: 2018-06-26T07:23:35.892991Z-- 执行SQL的主机信息# User@Host: root[root] @ localhost [] Id: 387088-- SQL的执行信息# Query_time: 0.000155 Lock_time: 0.000057 Rows_sent: 12 Rows_examined: 31-- SQL执行时间SET timestamp=1529997815;-- SQL内容SELECT `key`,`value` FROM `yp_setti |
3.慢查询日志的分析工具 mysqldumpslow
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
[root@iZbp1akzlq26t30fbsdwh7Z mysql] # mysqldumpslow -hOption h requires an argumentERROR: bad option# 最简单的使用方式 mysqldumpslow 慢查询日志目录Usage: mysqldumpslow [ OPTS... ] [ LOGS... ]Parse and summarize the MySQL slow query log. Options are--verbose verbose--debug debug--help write this text to standard output-v verbose-d debug# -s参数 通过什么方式来排序-s ORDER what to sort by (al, at, ar, c, l, r, t), 'at' is default al: average lock time # 根据锁定时间 ar: average rows sent # 根据返回行数 at: average query time # 根据返回时间 c: count l: lock time r: rows sent t: query time -r reverse the sort order (largest last instead of first)# -t 查看前多少条日志-t NUM just show the top n queries-a don't abstract all numbers to N and strings to 'S'-n NUM abstract numbers with at least n digits within names-g PATTERN grep: only consider stmts that include this string-h HOSTNAME hostname of db server for *-slow.log filename (can be wildcard), default is '*', i.e. match all-i NAME name of server instance (if using mysql.server startup script)-l don't subtract lock time from total time |
4.mysqldumpslow 分析结果
|
1
2
3
4
5
6
7
8
9
10
|
[root@iZbp1akzlq26t30fbsdwh7Z mysql]# mysqldumpslow /var/lib/mysql/iZbp1akzlq26t30fbsdwh7Z-slow.log -t 2 -s alReading mysql slow query log from /var/lib/mysql/iZbp1akzlq26t30fbsdwh7Z-slow.log-- count 执行次数-- time 执行时间-- lock 锁定时间-- rows 返回条数-- root[root]@localhost 通过那个用户执行的Count: 5 Time=0.00s (0s) Lock=0.01s (0s) Rows=5.0 (25), root[root]@localhost SHOW COLUMNS FROM `yp_area` |
好好学习,天天向上
浙公网安备 33010602011771号