QQ羣: 281442983 (點擊連接加入羣:http://jq.qq.com/?_wv=1027&k=29LoD19) QQ:1542385235php
顯示慢查詢日誌是否開啓和日誌文件所在的位置:mysql> show variables like 'slow%';mysql
設置慢查詢日誌開啓狀態:mysql>set global slow_query_log=on;sql
一、mysqldumpslow
2. 分析慢查詢日誌中前3條命令:mysqldumpslow -t 3 /home/mysql/data/mysql-slow.log服務器
1、開啓慢查詢日誌工具
1.查詢慢查詢時間 默認10秒測試
SHOW VARIABLES LIKE "long_query_time"
2.查詢慢查詢日誌文件地址.net
SHOW VARIABLES LIKE "%slow%"
3.若是沒有開啓慢查詢日誌則,在 my.ini 的 [mysqld] 下面配置項,而後重啓mysqld服務便可。日誌
小於等於5.5版本的mysql的設置方式code
#慢查詢日誌文件地址 log-slow-queries = "E:/phpStudy/MySQL/long_query_logs/buexplain-slow.log" #慢查詢時間(單位是秒),大於該時間的sql都將記錄到慢查詢日誌文件。 long_query_time=0.5
大於等於5.6版本的mysql的設置方式htm
#開啓慢查詢 1或on表示開啓,0或off表示關閉 slow_query_log=on #慢查詢日誌文件地址 slow_query_log_file="E:/phpStudy/MySQL/long_query_logs/buexplain-slow.log" #慢查詢時間(單位是秒),大於該時間的sql都將記錄到慢查詢日誌文件。 long_query_time=0.5
4.測試慢查詢
SELECT sleep( 1 )
5.查看慢查詢次數
SHOW GLOBAL STATUS LIKE '%slow%'
2、慢查詢日誌分析
# Time: 151001 19:06:58 # User@Host: root[root] @ localhost [127.0.0.1] # Query_time: 1.000057 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 0 SET timestamp=1443697618; select sleep(1);
第一行:執行時間
第二行:執行用戶
第三行(重要):
Query_time SQL執行的時間,越長則越慢
Lock_time 在MySQL服務器階段(不是在存儲引擎階段)等待表鎖時間
Rows_sent 查詢返回的行數
Rows_examined 查詢檢查的行數
第四行:執行的sql
分析處理日誌的工具備:
1.mysqldumpslow 官方提供的perl腳本
2.mysqlsla 是 hackmysql.com 推出的一款日誌分析工具
3.pt-query-digest 一個perl腳本
相關連接:
http://www.zrwm.com/?p=2668
http://blog.csdn.net/a600423444/article/details/6854289
3、總結
不要開啓 log-queries-not-using-indexes 沒有索引查詢記錄功能,它影響主要的慢查詢日誌的查看。
QQ羣: 281442983 (點擊連接加入羣:http://jq.qq.com/?_wv=1027&k=29LoD19) QQ:1542385235
個人淘寶店,能夠進去逛逛噢:https://shop108912636.taobao.com/index.htm?spm=2013.1.w5001-7867000954.3.1d29318dPlLar7&scene=taobao_shop