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
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28282660/viewspace-2286399/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL 5.7 mysqldumpslow工具介紹MySql
- Mysql 慢日誌分析工具MysqldumpslowMySql
- 慢查詢分析調優工具~mysqldumpslowMySql
- MySQL慢查詢分析工具之mysqldumpslowMySql
- 【MySql】mysql 慢日誌查詢工具之mysqldumpslowMySql
- mysqldumpslow基本使用MySql
- mysqldumpslow簡單用法MySql
- mysqldumpslow慢查詢MySql
- mysqldumpslow日誌分析MySql
- [mysqldumpslow 報錯] Died at mysqldumpslow line 161, chunk 236.MySql
- MySQL優化 - 開啟MySQL慢查詢日誌及分析工具mysqldumpslowMySql優化
- Mysql優化_慢查詢開啟說明及Mysql慢查詢分析工具mysqldumpslow用法講解MySql優化
- 如何使用 MySQL 慢查詢日誌進行效能優化 - Profiling、mysqldumpslow 例項詳解MySql優化
- 工具工具
- Golang工具集-String工具,時間工具,http工具等GolangHTTP
- 最常用的scrum工具、敏捷開發工具、看板工具Scrum敏捷
- 工具
- Java工具面試題:版本控制工具Java面試題
- ArcGIS工具 - 統計工具數量
- 【工具】MySQL 壓測工具之mydbtestMySql
- 【工具】ORION I/O 測試工具
- myisampack工具(MyISAM表壓縮工具)
- 【工具】好用的密評工具CyberChef
- 盡信工具,還不如沒有工具
- Autotrace工具使用——小工具,大用場
- 【工具】基準測試工具之sysbench
- 工具庫·
- 工具 - NpmNPM
- LockSupport工具
- Repo工具
- 文件工具
- orion工具
- 工具篇
- ETL工具
- sed 工具
- git工具Git
- DBVERIFY 工具- -
- crsctl工具