1.開啟慢查詢的目的
開啟慢查詢日志,可以讓MySQL記錄下查詢超過指定時間的語句,通過定位分析性能的瓶頸,才能更好的優化數據庫系統的性能。
2.設置mysql慢查詢
方法一:全局變量設置(臨時生效)
將 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
重啟MySQL服務
service mysqld restart
3.查看mysql慢查詢狀態
show variables like '%slow%'; #查看慢查詢的開啟狀態和慢查詢日志的存儲路徑
show variables like '%log_output%'; #查看當前慢查詢日志輸出的格式,可以是FILE(存儲在數數據庫的數據文件中的hostname.log),也可以是TABLE(存儲在數據庫中的mysql.general_log)
show variables like 'long%'; #查看慢查詢閾值,當查詢時間多於設定的閾值時,記錄日志
select sleep(2); #插入一條數據,數據大於“long_query_time”(1秒)時(不包含1秒),會把日志保存到慢查詢日志中
show global status like '%Slow_queries%'; #查看慢查詢的個數,根據個數是否新增來判斷測試結果
4.mysql慢查詢日志分析工具
mysqldumpslow