如何使用 mysqldumpslow 这个工具
小编给大家分享一下mysqldumpslow工具怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! mysqldumpslow工具 开启慢查询 查看慢查询相关参数 slow_query_log:慢查询是否开启 slow_query_log_file:慢查询文件位置 long_query_time:超过多长时间记录 log_queries_not_using_indexes:没有使用索引的sql mysql> show variables like 'slow_query%'; +---------------------+----------------------------+ | Variable_name | Value | +---------------------+----------------------------+ | slow_query_log | ON | | slow_query_log_file | /var/lib/mysql/db-slow.log | +---------------------+----------------------------+ 2 rows in set (0.01 sec) mysql> show variables like 'long_query_time'; +-----------------+----------+ | Variable_name | Value | +-----------------+----------+ | long_query_time | 2.000000 | +-----------------+----------+ 1 row in set (0.00 sec) mysql> show variables like 'log_queries_not%'; +-------------------------------+-------+ | Variable_name | Value | +-------------------------------+-------+ | log_queries_not_using_indexes | OFF | +-------------------------------+-------+ 1 row in set (0.00 sec) 设置方法 方法1:全局变量设置 mysql> set global slow_query_log='ON'; mysql> set global slow_query_log_file='/var/lib/mysql/db-slow.log'; mysql> set global long_query_time=2; mysql> set global log_queries_not_using_indexes=1; 方法2:配置文件设置 修改配置文件my.cnf在[mysqld]下加入如下内容 slow_query_log = ON slow_query_log_file = /var/lib/mysql/db-slow.log long_query_time = 2 log_queries_not_using_indexes=1 修改后重启mysql服务 测试 mysql> select sleep(3); [root@db ~]# tail -f /var/lib/mysql/db-slow.log # Time: 2018-12-25T08:00:48.199670Z # User@Host: root[root] @ localhost [] Id: 2443797 # Query_time: 3.000198 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 0 SET timestamp=1545724848; select sleep(3); [root@db ~]# mysqldumpslow --help 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 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 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 常用参数 -s 排序方式 后面跟排序列 al 平均锁定时间 ar 平均返回记录时间 at 平均查询时间(默认) c 计数 l 锁定时间 r 返回记录 t 查询时间 -r 反向排序,最大的在最后 -t 后面跟数字,返回行数 -a 不将所有的数字抽象为N,字符串抽象为S -n 后面跟数字,在名称中至少有n个数字抽象为数字 -g 正则后边可以写一个正则匹配模式,大小写不敏感的 案例: 1.根据计数返回5条记录 mysqldumpslow -s c -t 5 /var/lib/mysql/db-slow.log 2.根据返回记录返回5条记录 mysqldumpslow -s r -t 5 /var/lib/mysql/db-slow.log 3.根据查询时间返回5条记录 mysqldumpslow -s t -t 5 /var/lib/mysql/db-slow.log 4.根据计数统计,不抽象数字及字符串 mysqldumpslow -s c -a -t 5 /var/lib/mysql/db-slow.log 看完了这篇文章,相信你对“mysqldumpslow工具怎么用”有了一定的了解,如果想了解更多相关知识,感谢各位的阅读! (编辑:银川站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |