mysql版本是mysql5.6.22,安裝環境windows7。
1.使用該查詢日誌可以找到有效率問題的sql語句,並記錄下來,進行監控。
可以使用如下語句查詢和設定慢查詢日誌
(1) 檢視慢查詢日誌是否開啟
show variables like '%show_query_log%'; 或是 show variables like '%show_query_log%'\g (mysql命令列中使用)
查詢結果如下
variable_name: slow_query_log
value: off
上邊value表示未開啟
variable_name: slow_query_log_file
value: d:\programfiles\mysql5.6.22\mysql_master\data\lhy-slow.log
上邊value表示日誌存放的路徑
設定開啟狀態:
set global slow_query_log = on;
(2) 檢視未使用索引的查詢日誌是否開啟
show variables like '%log_queries_not_using_indexes%'; 或是 show variables like '%log_queries_not_using_indexes%'\g (mysql命令列中使用)
查詢結果如下
variable_name: log_queries_not_using_indexes
value: off
上邊value表示未開啟
設定開啟狀態:
set global log_queries_not_using_indexes = on;
(3) 檢視超過設定時間的查詢日誌
show variables like '%long_query_time%'; 或是 show variables like '%long_query_time%'\g (mysql命令列中使用)
查詢結果如下:
variable_name: long_query_time
value: 10.000000
上邊value:10s表示記錄執行時間超過10秒的sql
設定執行時間為1s
set global long_query_time = 1;
exit;
注意1:修改執行之間之後要退出重新登入才會起作用.
注意2:設定時間過短導致日誌記錄過多會很快將磁碟空間沾滿,所以應該定期執行磁碟清理,這裡設定為1是為了檢視執行效果,生產環境中需要自己設定.
以上三個步驟執行完成之後,從資料庫中執行任何sql語句就都會被記錄到日誌中,可以到第一步中那個日誌檢視日誌資訊.
以上設定是在控制台處理的,當資料庫重啟之後,該設定即失效;
長期有效的方式是在mysql安裝目錄下找到my.ini檔案,若是沒有該檔案,只有mysql-default.ini檔案
那麼就將該檔案備份,然後改名為mysql.ini,然後在該檔案中[mysqld]下邊新增如下的配置資訊即可。
slow_query_log=on
slow_query_log_file=d:/programfiles/mysql5.6.22/mysql_master/data/lhy-slow.log
log_queries_not_using_indexes=on
long_query_time=1
2.儲存格式
# time: 150401 11:24:27
# user@host: root[root] @ localhost [127.0.0.1] id: 7
# query_time: 0.034002 lock_time: 0.000000 rows_sent: 3 rows_examined: 3
use libu;
set timestamp=1427858667;
select * from aaa;
分析如下:
(1) time: 執行時間
(2) user@host: 執行sql的主機資訊
(3) query_time: sql的執行資訊,lock_time: 鎖定時間, rows_sent: 傳送(結果)行數, rows_examined:掃瞄的行數
(4) timestamp: 執行時間
(5) select * from aaa; : 查詢語句內容
3.慢查詢日誌分析工具
5種工具:mysqldumpslow,mysqlsla,myprofi,mysql-explain-slow-log,mysqllogfilter
mysqldumpslow mysql自帶的分析工具
mysql開啟慢查詢日誌 MySQL慢日誌體系建設
慢查詢日誌是mysql提供的一種日誌記錄,用來記錄在mysql中響應時間超過閾值的sql語句,在很大程度上會影響資料庫整體的效能,是mysql優化的乙個重要方向。在58的雲db平台建設中,慢sql系統作為乙個非常重要功能模組,不僅是dba日常運維使用,我們也希望通過該功能可以協助開發人員更快速定位業...
開啟mysql慢查詢日誌
檢視配置 檢視慢查詢時間 show variables like long query time 預設10s 檢視慢查詢配置情況 show status like slow queries 檢視慢查詢日誌路徑 show variables like slow 修改配置檔案 在 etc my.ini中...
開啟mysql慢查詢日誌
檢視配置 檢視慢查詢時間 show variables like long query time 預設10s 檢視慢查詢配置情況 show status like slow queries 檢視慢查詢日誌路徑 show variables like slow 修改配置檔案 在my.ini中加上下面兩...