MySQL開啟慢查詢方法及實(shí)例
一、簡介
開啟慢查詢?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 |+-----------------+----------+
四、測試
1.執(zhí)行一條慢查詢SQL語句
mysql> select sleep(2);
2.查看是否生成慢查詢?nèi)罩?/p>
ls /usr/local/mysql/data/slow.log
如果日志存在,MySQL開啟慢查詢?cè)O(shè)置成功!
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 為SQLite3提供一個(gè)ANSI到UTF8的互轉(zhuǎn)函數(shù)2. Mysql/MariaDB啟動(dòng)時(shí)處于進(jìn)度條狀態(tài)導(dǎo)致啟動(dòng)失敗的原因及解決辦法3. SQLite 性能優(yōu)化實(shí)例分享4. 一個(gè)參數(shù)究竟如何影響Oracle/OS5. ubuntu下使用SQLite3的基本命令6. MariaDB性能調(diào)優(yōu)工具mytop的使用詳解7. Microsoft Office Access添加字段的方法8. sql server 2005 批量導(dǎo)入導(dǎo)出9. CentOS下更新SQLite版本10. mysql判斷表是否存在然后批量刪除的操作
