MySQL開(kāi)啟慢查詢(xún)方法及實(shí)例
一、簡(jiǎn)介
開(kāi)啟慢查詢(xún)?nèi)罩荆梢宰孧ySQL記錄下查詢(xún)超過(guò)指定時(shí)間的語(yǔ)句,通過(guò)定位分析性能的瓶頸,才能更好的優(yōu)化數(shù)據(jù)庫(kù)系統(tǒng)的性能。
二、參數(shù)說(shuō)明
slow_query_log 慢查詢(xún)開(kāi)啟狀態(tài)
slow_query_log_file 慢查詢(xún)?nèi)罩敬娣诺奈恢茫ㄟ@個(gè)目錄需要MySQL的運(yùn)行帳號(hào)的可寫(xiě)權(quán)限,一般設(shè)置為MySQL的數(shù)據(jù)存放目錄)long_query_time 查詢(xún)超過(guò)多少秒才記錄
三、設(shè)置步驟
1.查看慢查詢(xún)相關(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è)置慢查詢(xún)?nèi)罩敬娣诺奈恢?/p>
mysql> set global slow_query_log_file=’/usr/local/mysql/data/slow.log’;
查詢(xún)超過(guò)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í)行一條慢查詢(xún)SQL語(yǔ)句
mysql> select sleep(2);
2.查看是否生成慢查詢(xún)?nèi)罩?/p>
ls /usr/local/mysql/data/slow.log
如果日志存在,MySQL開(kāi)啟慢查詢(xún)?cè)O(shè)置成功!
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 如何安裝MySQL 壓縮包2. SQL2000管理SQL7服務(wù)器出現(xiàn)TIMEOUT問(wèn)題的解決3. MySQL Innodb 存儲(chǔ)結(jié)構(gòu) 和 存儲(chǔ)Null值 用法詳解4. Microsoft Office Access取消主鍵的方法5. Mybatis傳入List實(shí)現(xiàn)批量更新的示例代碼6. MYSQL技巧:為現(xiàn)有字段添加自增屬性7. mysql 視圖操作和存儲(chǔ)過(guò)程8. MySQL創(chuàng)始人發(fā)郵件尋求中國(guó)幫助9. MySQL存儲(chǔ)引擎選擇InnoDB還是MyISAM10. MySQL插入數(shù)據(jù)時(shí),如果記錄不存在則insert,如果存在則update
