MySQL開啟慢查詢方法及實(shí)例
一、簡(jiǎn)介
開啟慢查詢?nèi)罩荆梢宰孧ySQL記錄下查詢超過指定時(shí)間的語句,通過定位分析性能的瓶頸,才能更好的優(yōu)化數(shù)據(jù)庫系統(tǒng)的性能。
二、參數(shù)說明
slow_query_log 慢查詢開啟狀態(tài)
slow_query_log_file 慢查詢?nèi)罩敬娣诺奈恢茫ㄟ@個(gè)目錄需要MySQL的運(yùn)行帳號(hào)的可寫權(quán)限,一般設(shè)置為MySQL的數(shù)據(jù)存放目錄)long_query_time 查詢超過多少秒才記錄
三、設(shè)置步驟
1.查看慢查詢相關(guān)參數(shù)
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.設(shè)置方法
方法一:全局變量設(shè)置
將 slow_query_log 全局變量設(shè)置為“ON”狀態(tài)
mysql> set global slow_query_log=’ON’;
設(shè)置慢查詢?nèi)罩敬娣诺奈恢?/p>
mysql> set global slow_query_log_file=’/usr/local/mysql/data/slow.log’;
查詢超過1秒就記錄
mysql> set global long_query_time=1;
方法二:配置文件設(shè)置
修改配置文件my.cnf,在[mysqld]下的下方加入
[mysqld]slow_query_log = ONslow_query_log_file = /usr/local/mysql/data/slow.loglong_query_time = 1
3.重啟MySQL服務(wù)
service mysqld restart
4.查看設(shè)置后的參數(shù)
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 |+-----------------+----------+
四、測(cè)試
1.執(zhí)行一條慢查詢SQL語句
mysql> select sleep(2);
2.查看是否生成慢查詢?nèi)罩?/p>
ls /usr/local/mysql/data/slow.log
如果日志存在,MySQL開啟慢查詢?cè)O(shè)置成功!
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. MYSQL(電話號(hào)碼,身份證)數(shù)據(jù)脫敏的實(shí)現(xiàn)2. Mysql入門系列:需要避免的MYSQL客戶機(jī)程序設(shè)計(jì)錯(cuò)誤3. 使用MySqldump命令導(dǎo)出數(shù)據(jù)時(shí)的注意5. MySQL存儲(chǔ)過程例子(包含事務(wù)、參數(shù)、嵌套調(diào)用、游標(biāo)循環(huán)等)6. Mysql入門系列:MYSQL圖像數(shù)據(jù)的處理7. SQL2000管理SQL7服務(wù)器出現(xiàn)TIMEOUT問題的解決8. SQLite教程(六):表達(dá)式詳解9. Mysql入門系列:建立MYSQL客戶機(jī)程序的一般過程10. MySQL Installer 8.0.21安裝教程圖文詳解
