有沒有人遇到過使用以下選項啟用慢速日誌時的問題:
root@(none)> show global variables like "%slow_query%";
+-----------------------------------+-------------------------------+
| Variable_name | Value |
+-----------------------------------+-------------------------------+
| slow_query_log | ON |
| slow_query_log_always_write_time | 10.000000 |
| slow_query_log_file | /var/log/mysql/mysql-slow.log |
| slow_query_log_use_global_control | |
+-----------------------------------+-------------------------------+
4 rows in set (0.00 sec)
我遇到一個奇怪的問題,即慢速日誌檔案一遍又一遍地被相同的內容發送垃圾郵件,而沒有一個慢速日誌查詢:
Time Id Command Argument
/usr/sbin/mysqld, Version: 8.0.25-15 (Percona Server (GPL), Release '15', Revision 'a558ec2'). started with:
Tcp port: 3306 Unix socket: /var/run/mysqld/mysqld.sock
這三行不斷地被垃圾郵件發送,大約每秒 100 KB。不僅如此,由於這個原因,複製是滯後的,落後於 master 的秒數不斷增加。我注意到 /var/log/mysql 目錄所在的作業系統磁碟(MySQL datadir 位於不同的陣列上)有一些奇怪的用法,我想它正在將這些無用訊息中的每一個都刷新到磁碟。一旦我禁用了 Slow_query_log,SBM 就開始快速下降並且沒有任何問題。
我是否遇到了 Percona MySQL 的錯誤,我在任何地方都找不到任何參考?
答案1
考慮將以下內容新增至 my.cnf 或 my.ini
min_examined_row_limit=1
以避免慢查詢日誌中出現無用的資訊。
答案2
也許您沒有任何查詢時間超過 10 秒?
可能long_query_time
仍然是預設的 10(秒)。這大多是個無用的高值;將其降低至 1。
有事在做嗎FLUSH LOGS
?檢查 cron 作業。這是在您自己的網站上還是在某個雲端上?他們可能是造成這種情況的原因。