mysql的慢查詢日誌是mysql提供的一種日誌記錄,它用來記錄在mysql中響應時間超過閥值的語句,具體指執行時間超過long_query_time值的sql。
long_query_time
的預設值為10,意思是執行10秒以上的語句。
預設情況下slow_query_log的值為off,表示慢查詢日誌是禁用的,
可以通過設定slow_query_log的值來開啟
使用set global slow_query_log=1;
開啟了慢查詢日誌只對當前資料庫生效,
如果mysql重啟後則會失效。
全域性變數設定,對當前連線不影響
對當前連線立刻生效
如果要永久生效,就必須修改配置檔案my.cnf(其它系統變數也是如此)
slow_query_log =1
slow_query_log_file=/var/lib/mysql/atguigu-slow.log
關於慢查詢的引數slow_query_log_file ,它指定慢查詢日誌檔案的存放路徑,如果沒有指定引數slow_query_log_file的話,系統缺省會給乙個預設的檔案host_name-slow.log
如果執行時間正好等於long_query_time,不會被記錄下來。也就是說,在mysql原始碼裡是判斷大於long_query_time,而非大於等於。
# 檢視當前多少秒算慢
show variables like 'long_query_time%';
# 設定慢的閾值時間
set long_query_time=1
# 查詢當前系統中有多少條慢查詢記錄
show global status like '%slow_queries%';
實驗一條慢sql
跟蹤日誌資訊
my.cnf
【mysqld】下配置:
slow_query_log=1
slow_query_log_file=/var/lib/mysql/atguigu-slow.log
long_query_time=3
log_output=file
mysql提供了日誌分析工具mysqldumpslow查詢所有使用者的程序查詢擷取分析
預設關閉,預設情況下slow query log的值為off,表示慢查詢日誌是禁用的,show variables like slow query log set global slow query log 1 重啟服務失效show variables like long query time 預設...
查詢擷取分析
show variables like slow query log set global slow query log 1 show variables like long query time set global long query time 0.1 show processlist kil...
mysql 擷取查詢分析
1.1 是什麼 1 mysql的慢查詢日誌是mysql提供的一種日誌記錄,它用來記錄在mysql中響應時間超過閥值的語句,具 體指執行時間超過long query time值的sql,則會被記錄到慢查詢日誌中。2 具體指執行時間超過long query time值的sql,則會被記錄到慢查詢日誌中。...