MySQL慢查詢之開啟慢查詢的方法介紹

開啟慢查詢日志,可以讓查詢記錄下查詢超過指定時間的語句,通過定位分析性能的瓶頸,才能更好的優化數據庫系統的性能。下面這篇文章主要介紹了關于mysql開啟慢查詢的相關資料,需要的朋友可以參考下。

一、慢查詢有什么用?

它能記錄下所有執行超過long_query_time時間的SQL語句, 幫你找到執行慢的SQL, 方便我們對這些SQL進行優化.

二、參數說明

slow_query_log 慢查詢開啟狀態

slow_query_log_file 慢查詢日志存放的位置(這個目錄需要MySQL的運行帳號的可寫權限,一般設置為MySQL的數據存放目錄)

long_query_time 查詢超過多少秒才記錄

三、設置步驟

1、查看慢查詢相關參數

mysql>?show?variables?like?'slow_query%';  +---------------------------+----------------------------------+  |?Variable_name??|?Value????|  +---------------------------+----------------------------------+  |?slow_query_log??|?OFF????|  |?slow_query_log_file?|?/mysql/data/localhost-slow.log?|  +---------------------------+----------------------------------+    mysql>?show?variables?like?'long_query_time';  +-----------------+-----------+  |?Variable_name?|?Value?|  +-----------------+-----------+  |?long_query_time?|?10.000000?|  +-----------------+-----------+

2、設置方法

方法一:全局查詢設置

將 slow_query_log 全局變量設置為“ON”狀態

mysql>?set?global?slow_query_log='ON';

設置慢查詢日志存放的位置

mysql>?set?global?slow_query_log_file='/usr/local/mysql/data/slow.log';

查詢超過1秒就記錄

mysql>?set?global?long_query_time=1;

方法二:查詢設置

修改配置文件my.cnf,在[mysqld]下的下方加入

[mysqld]  slow_query_log?=?ON  slow_query_log_file?=?/usr/local/mysql/data/slow.log  long_query_time?=?1

3、重啟MySQL服務

service?mysqld?restart

4、查看設置后的參數

mysql>?show?variables?like?'slow_query%';  +---------------------+--------------------------------+  |?Variable_name?|?Value????|  +---------------------+--------------------------------+  |?slow_query_log?|?ON????|  |?slow_query_log_file?|?/usr/local/mysql/data/slow.log?|  +---------------------+--------------------------------+    mysql>?show?variables?like?'long_query_time';  +-----------------+----------+  |?Variable_name?|?Value?|  +-----------------+----------+  |?long_query_time?|?1.000000?|  +-----------------+----------+

四、測試

1、執行一條慢查詢SQL語句

mysql>?select?sleep(2);

2、查看是否生成慢查詢日志

ls?/usr/local/mysql/data/slow.log

如果日志存在,MySQL開啟慢查詢設置成功!

總結

? 版權聲明
THE END
喜歡就支持一下吧
點贊15 分享