long_query_time 設置不生效問題


由於原來的慢查詢日志太大了,有1G多,並且其中包含上一次查詢優化前的慢sql,所以想收集最近兩天的慢查詢語句,故

mysql> show global variables like 'slow%';
+---------------------+---------------------------------+
| Variable_name | Value |
+---------------------+---------------------------------+
| slow_launch_time | 2 |
| slow_query_log | ON |
| slow_query_log_file | /data/mysql_3301/slow_query.log |
+---------------------+---------------------------------+

將原日志備份

mv /data/mysql_3301/slow_query.log      /data/mysql_3301/slow_query_backup.log

新建了空的慢查詢日志文件

vim /data/mysql_3301/slow_query.log

原來默認的慢查詢時間為10s

通過mysql命令行設置全局變量set global long_query_time=2; 慢查詢時間為2s,

mysql> set global long_query_time=2;
Query OK, 0 rows affected (0.00 sec)

mysql> show global variables like 'long%';
+-----------------+----------+
| Variable_name | Value |
+-----------------+----------+
| long_query_time | 2.000000 |
+-----------------+----------+
1 row in set (0.00 sec)

設置后執行

mysql> select sleep(3);
發現新的慢日志文件/data/mysql_3301/slow_query.log還是空的

mysql> select sleep(15);  slow_query.log還是空

很疑惑。。。

最后發現/data/mysql_3301/slow_query_backup.log一直在增長,這個文件的最后修改時間離系統時間很近

原來mysql將慢日志一直寫到/data/mysql_3301/slow_query_backup.log中

mv  /data/mysql_3301/slow_query_backup.log   /data/mysql_3301/slow_query.log

cp  /data/mysql_3301/slow_query.log          /data/mysql_3301/slow_query_20140122.log

cat /dev/null > /data/mysql_3301/slow_query.log

一切好了。

[root@s7 mysql_3301]# ll /data/mysql_3301/
-rw-r--r-- 1 root root 1184185666 01-22 16:26 slow_query_20140122.log
-rw-rw---- 1 mysql mysql 2244 01-22 16:45 slow_query.log

mv只是更改文件名

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM