MySQL慢查詢日誌的設定與分析

來源:互聯網
上載者:User

MySQL慢查詢日誌的設定與分析

慢查詢日誌用於記錄一些過慢的查詢語句,可以協助管理員分析問題所在,該日誌預設是沒有開啟的,需要在設定檔裡添加一系列參數來手動啟動

編輯my.cnf檔案,在[mysqld]模組下增加以下內容:

[mysqld]

slow_query_log = on #開啟慢查詢日誌

slow_query_log_file = filename #指定記錄檔儲存路徑,不指定的話預設在資料庫檔案目錄下,名為hostname-slow.log

long_query_time = 2 #指定達到多少秒才算慢查詢

long-queries-not-using-indexes #記錄沒有使用索引的查詢語句

min_examined_row_limit = 1000 #記錄尋找了多達1000次而引起的慢查詢

log-slow-admin-statements #記錄ALTER TABLE等語句引發的慢查詢

log-slow-slave-statements #記錄從伺服器產生的慢查詢

重啟MySQL服務使配置生效

service mysqld restart

登陸資料庫查詢下環境

show variables like '%slow%';

執行一個慢查詢語句

select sleep(3);

查看慢查詢日誌已經產生,箭頭處顯示了執行使用者以及查詢語句

在有大量慢查詢內容的記錄檔中用文本查看的話會很麻煩,建議使用一些慢查詢分析工具,如官方內建的mysqldumpslow,使用後顯示如下:

另外還有第三方的percona-toolkit中的pt-query-digest或mysqlsla,安裝好了後都直接跟上慢記錄檔即可分析,這裡就不再描述。

本文永久更新連結地址:

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.