【MySQL】慢日誌大量生成 long-query-time “失效”問題

神諭丶發表於2015-09-29
記一次long query time“失效” 導致slow query log大量寫入的問題


【問題描述】:
情況是這樣的,準備修改一臺db server的mysql慢查詢日誌的配置,目前是寫在/var/log/mysql中的log中。
想要修改存放到表中。
修改slow-log的output無意發現:


條件設定為query_time=00:00:00時,居然有5000多條,驚呆了。(並且持續增長)
mysql> select count(*) from mysql.slow_log where query_time='00:00:00';


繼續執行了重複的命令,發現數量仍然在增加。
第一反應是不是long query time太短,立馬查詢了一下:
mysql> show variables like '%long_query%';  發現並不短。







翻了一下文件:
有一個全域性的動態生效的“log_queries_not_using_indexes”引數,
這個引數官方給出的解釋大概意思是“只要沒有用索引的任何查詢都將會被記錄到slow query log中”。


在server中查了一下這個引數。。
mysql> show variables like '%index%';
果然是ON的狀態。而且可以動態修改,不需要停服務。
趕緊關閉……

【解決方案】:
mysql> set global log_queries_not_using_indexes=OFF;



同時檢查my.cnf,將該值設定為OFF,以保證庫重啟之後不再開啟該值。

基本搞定。


作者公眾號(持續更新)


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29773961/viewspace-1811829/,如需轉載,請註明出處,否則將追究法律責任。

相關文章