一.簡介
MySQL的慢查詢,全名是慢查詢?nèi)罩?,是MySQL提供的一種日志記錄,用來記錄在MySQL中響應時間超過閥值的語句。
具體環(huán)境中,運行時間超過long_query_time值的SQL語句,則會被記錄到慢查詢?nèi)罩局小ong_query_time的默認值為10,意思是記錄運行10秒以上的語句。
默認情況下,MySQL數(shù)據(jù)庫并不啟動慢查詢?nèi)罩?,需要手動來設置這個參數(shù)。當然,如果不是調(diào)優(yōu)需要的話,一般不建議啟動該參數(shù),因為開啟慢查詢?nèi)罩緯蚨嗷蛏賻硪欢ǖ男阅苡绊憽?/p>
慢查詢?nèi)罩局С謱⑷罩居涗泴懭胛募蛿?shù)據(jù)庫表。
二.查詢
slow_query_log 慢查詢開啟狀態(tài)
slow_query_log_file 慢查詢?nèi)罩敬娣诺奈恢茫ㄟ@個目錄需要MySQL的運行帳號的可寫權限,一般設置為MySQL的數(shù)據(jù)存放目錄)
long_query_time 查詢超過多少秒才記錄
查看是否開啟和存放位置,當前為關閉狀態(tài)
show variables like 'slow_query%';
多少米才記錄,當前10秒
show variables like 'long_query_time';
三.開啟
永久配置
vim /etc/my.cnf
[mysqld]
slow_query_log = ON
slow_query_log_file = /usr/local/mysql/data/slow.log
long_query_time = 2
重啟數(shù)據(jù)庫
臨時配置
mysql> set global slow_query_log='ON';
mysql> set global slow_query_log_file='/usr/local/mysql/data/slow.log';
mysql> set global long_query_time=1;
重啟數(shù)據(jù)庫
四.測試
放一個慢查詢語句
mysql> select sleep(2);
查看日志是否生成并有那個語句
cat /usr/local/mysql/data/slow.log
本文摘自 :https://www.cnblogs.com/