有没有人遇到过这样的问题:当使用以下选项启用慢速日志时:
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 千字节。不仅如此,由于这个原因,复制出现滞后,落后主服务器的秒数不断增加。我注意到 /var/log/mysql 目录所在的 OS 磁盘(MySQL 数据目录位于不同的阵列上)的使用情况有些奇怪,我想它正在将这些无用的消息全部刷新到磁盘。一旦我禁用 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 作业。这是在您自己的网站上,还是在某个云上?它们可能是导致这种情况的原因。