您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關mysql慢查詢日志是什么,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
定義:mysql提供的一種記錄日志的功能,用來記錄mysql相應時間超過long_query_time值的sql語句,long_query_time默認值為10秒,相應時間超過10秒的SQL則會被記錄到日志中。
1、查看慢日志功能的狀態,慢日志功能默認是關閉的
show variables like '%slow_query_log%';
OFF表示慢日志功能處于關閉狀態,慢日志記錄存儲在DESKTOP-2331B4V-slow.log文件中,DESKTOP為本人的計算機名。
2、開啟慢日志功能
set global slow_query_log=1;
然后再查詢慢日志狀態
狀態為ON,表示慢日志功能已開啟。
3、查看默認的long_query_time時間
long_query_time為10秒,表示SQ語句超過10秒的才會被記錄到慢日志中。
4、設置long_query_time時長,默認的10秒太長
set global long_query_time=3;
重新打開一個會話,如果是window系統的話,再重新打卡一個cmd就可以(注意如果還是在設置long_query_time的會話中查詢long_query_time時長的話,還是默認的10秒,所以要重啟一個會話),再次查詢long_query_time時長
5、模擬耗時sql
該sql語句表示查詢了5秒,超出了設置的long_query_time時長。然后打開
DESKTOP-2331B4V-slow.log日志,內容如下: MySQL, Version: 5.5.60 (MySQL Community Server (GPL)). started with: TCP Port: 3306, Named Pipe: MySQLTime Id Command Argument # Time: 180729 12:52:29# User@Host: root[root] @ localhost [127.0.0.1] # Query_time: 5.005746 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 0SET timestamp=1532839949;select sleep(5);
可知,超時的SQL已經寫進慢日志中。
慢日志比較多時,還可以查詢慢日志中的條數
6、配置
上面的實例是用命令進行配置的,如果數據庫重啟后,配置失效。如果想重啟后,配置任然有效,可以在my.ini下的[mysqld]添加配置的命令:
slow_query_log=1slow_query_log_file=d:/mysql/my.loglong_query_time=3long_output=FILE
關于“mysql慢查詢日志是什么”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。