mysql 慢查詢日誌開啟與使用詳解

來源:互聯網
上載者:User

MySQL慢日誌往往是大家定位SQL效能問題。通過慢日誌分析可以調整索引使用。這是使用最多的一個功能。

目前MySQL也支援毫秒層級以下的慢日誌記錄,這個功能其實有很多用處,這裡大概給大家講解一下。該功能開啟參數:long_query_time

查看慢查詢是否開啟:

 代碼如下 複製代碼

mysql> show variables like '%slow%';
+---------------------+-------------------------+
| Variable_name       | Value                    |
+---------------------+-------------------------+
| log_slow_queries    | ON                        |
| slow_launch_time    | 2                          |
| slow_query_log      | ON                         |
| slow_query_log_file | D:/log/slow.txt       |
+---------------------+-------------------------+

其中,各參數說明如下:

slow_launch_time: 慢查詢超過的執行時間值

 slow_query_log: 是否開啟慢查詢日誌功能

show_query_log_file:慢查詢日誌目錄 


通常使用這個參數的幾個環境:

需要得到一個業務的所有SQL可以在測試環境中MySQL的long_query_time設定為0.000001:

 代碼如下 複製代碼

set global long_query_time=0.000001;
 
flush logs;

也可以直接在找到 MySQL 的設定檔 ,my.cnf (Windows 為 my.ini ),在 MySQL 下增加下面幾行

 代碼如下 複製代碼

log-slow-queries ="D:/xampp/mysql/long.txt"
long_query_time = 1

log-slow-queries=/var/lib/mysql/slowquery.log (指定記錄檔存放位置,可以為空白,系統會給一個預設的檔案host_name-slow.log)
long_query_time=2 (記錄超過的時間,預設為10s)
log-queries-not-using-indexes (log下來沒有使用索引的query,可以根據情況決定是否開啟)
log-long-format (如果設定了,所有沒有使用索引的查詢也將被記錄)

上面的 2 是查詢的時間,即當一條 SQL 執行時間超過2秒的時候才記錄,/usr/var/slowquery.log 是日誌記錄的位置。

然後重新啟動MySQL服務

2、 MySQL 設定檔的位置

Windows:Windows 的設定檔為 my.ini,一般在 MySQL 的安裝目錄下或者 c:Windows 下。

Linux:Linux 的設定檔為 my.cnf ,一般在 /etc 下。


這樣基本上所有對MySQL請求的sql都會記錄到慢日誌中。通過日誌分析可以全面瞭解一下SQL樣式及整體運行調用分布。(重要的庫可以考慮開啟該參數記錄相應的log用於審計使用)

同樣對於生產環境,可以通過開啟該參數,定期收集一下線上的SQL運行情況,做一些對比,方便瞭解目前線上SQL啟動並執行情況。能更供更多的指導。 有了慢查詢日誌,通過慢查詢日誌分析工具很容易得到一份不錯的分析結果。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

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.