Назад | Перейти на главную страницу

Журнал медленных запросов MySQL, регистрирующий все запросы

У нас есть экземпляр MySQL 5.1.52 Percona Server 11.6, который внезапно начал записывать каждый запрос в журнал медленных запросов. В long_query_time конфигурация установлена ​​на 1, но внезапно мы видим каждый запрос (например, только что видели тот, который взял 0.000563s!). В результате наши файлы журналов растут с безумной скоростью. Нам просто нужно было усечь файл журнала медленных запросов 180 ГБ.

Я попытался установить для переменной 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)

Это звучит как 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)