mysql開啟慢查詢日誌

2021-08-08 07:44:46 字數 2082 閱讀 3071

近日發現公司的某個**經常出現無響應狀態,經過一系列排查後最終確認是mysql的某些查詢導致了鎖表。這其中mysql的慢查詢log記錄讓我們定位到了根本原因.那麼什麼是慢查詢呢?它又有什麼作用呢?廢話不多說,在接下來的內容裡會解答這兩個問題。

慢查詢日誌是mysql伺服器將影響資料庫效能的相關sql語句記錄下來生成的日誌檔案。開啟慢查詢日誌,可以讓mysql記錄下執行超過指定時間(long_query_time)的語句,幫我們找到執行慢的sql語句。通過定位分析效能的瓶頸,才能更好的優化資料庫系統的效能。

slow_query_log 慢查詢開啟狀態

slow_query_log_file 慢查詢日誌存放的位置(這個目錄需要mysql的執行帳號的可寫許可權,一般設定為mysql的資料存放目錄)

long_query_time 查詢超過多少秒才記錄

3.1 查詢開啟狀態
show variables like

3.2 查詢long_time_query

4.1 全域性變數設定

設定完成後不需要重啟mysql即可生效,比較靈活,但重啟mysql的話需要重新設定。

- 將 slow_query_log 全域性變數設定為「on」狀態

set slow_query_log='on';
set long_query_time=1;
set slow_query_log_file='/home/mysql/var/slow.log';
4.2 配置檔案設定

進入mysql的配置檔案my.cnf(vi /etc/my.cnf),在mysqld下方新增下面語句

[mysqld]

slow_query_log = on

slow_query_log_file = /home/mysql/var/slow.log

long_query_time = 3

這種方法重啟mysql後才能生效。

1.在上面的設定完成以後,我們檢視下localhost-slow.log是否生成.

模擬一條慢sql查詢語句:

select sleep(5);
2.檢視慢查詢日誌是否記錄。
vi /home/mysql/var/localhost-slow

圖中已經出現了log記錄,配置成功.

mysql裡的日誌包括:錯誤日誌、二進位制日誌、通用查詢日誌、慢查詢日誌等等.其中通用查詢日誌和慢查詢日誌是比較常用。這裡記錄了慢查詢的大體使用方法。下面記錄一下相關常用的一些設定或查詢語句。

當前資料庫中與版本號相關的內容

showvariables like 『%version

%』;

通用日誌查詢是否開啟

showvariables like 『%general

%』;

檢視當前慢查詢日誌輸出的格式

showvariables like 『%log_output

%;

mysql開啟慢查詢日誌 MySQL慢日誌體系建設

慢查詢日誌是mysql提供的一種日誌記錄,用來記錄在mysql中響應時間超過閾值的sql語句,在很大程度上會影響資料庫整體的效能,是mysql優化的乙個重要方向。在58的雲db平台建設中,慢sql系統作為乙個非常重要功能模組,不僅是dba日常運維使用,我們也希望通過該功能可以協助開發人員更快速定位業...

開啟mysql慢查詢日誌

檢視配置 檢視慢查詢時間 show variables like long query time 預設10s 檢視慢查詢配置情況 show status like slow queries 檢視慢查詢日誌路徑 show variables like slow 修改配置檔案 在 etc my.ini中...

開啟mysql慢查詢日誌

檢視配置 檢視慢查詢時間 show variables like long query time 預設10s 檢視慢查詢配置情況 show status like slow queries 檢視慢查詢日誌路徑 show variables like slow 修改配置檔案 在my.ini中加上下面兩...