開啟慢查詢日志,可以讓查詢記錄下查詢超過指定時間的語句,通過定位分析性能的瓶頸,才能更好的優化數據庫系統的性能。下面這篇文章主要介紹了關于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