web-dev-qa-db-ja.com

すべてのクエリをログに記録する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)
3
Blanka

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)
9
quanta