MySQL 慢查询日志记录所有查询

MySQL 慢查询日志记录所有查询

我们有一个 MySQL 5.1.52 Percona Server 11.6 实例,它突然开始将每个查询记录到慢查询日志中。long_query_time配置设置为1,但是,我们突然看到每个查询(例如,只看到一个查询花费了0.000563s!)。结果,我们的日志文件以疯狂的速度增长。我们不得不截断 180G 的慢查询日志文件。

我尝试将 long_query_time 变量设置为一个非常大的数字,看看它是否完全停止(1000000),但结果相同。

show global variables like 'general_log%';
+------------------+--------------------------+
| Variable_name    | Value                    |
+------------------+--------------------------+
| general_log      | OFF                      |
| general_log_file | /usr2/mysql/data/db4.log |
+------------------+--------------------------+
2 rows in set (0.00 sec)

show global variables like 'slow_query_log%';
+---------------------------------------+-------------------------------+
| Variable_name                         | Value                         |
+---------------------------------------+-------------------------------+
| slow_query_log                        | ON                            |
| slow_query_log_file                   | /usr2/mysql/data/db4-slow.log |
| slow_query_log_microseconds_timestamp | OFF                           |
+---------------------------------------+-------------------------------+
3 rows in set (0.00 sec)

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

答案1

这听起来像log_queries_not_using_indexes已启用。

通过执行以下操作进行检查:

mysql> show global variables like 'log_queries%';
+-------------------------------+-------+
| Variable_name                 | Value |
+-------------------------------+-------+
| log_queries_not_using_indexes | ON    |
+-------------------------------+-------+

使用以下命令关闭它:

mysql> set global log_queries_not_using_indexes = 'off';
Query OK, 0 rows affected (0.00 sec)

相关内容