ログ領域がディスクフル時のMySQLの動作について
以下のログを保管しているログ領域(パーティション)がディスクフルになった場合のMySQLの動作について
MySQLのDBとしての動作上は問題ないが、ログの出力が停止する。
対象ログ
-エラーログ
-一般クエリログ
-スロークエリログ
・全ログでログの出力ができなくなる。一般クエリログとスロークエリログに関しては、
以下のエラーを出力し、ログが停止する。
[ERROR] Could not use /var/log/mysql/mysqld-slow.log for logging (error 28). Turning logging off for the whole duration of the MySQL server process. To turn it on again: fix the cause, shutdown the MySQL server and restart it.
[ERROR] Could not use /var/log/mysql/general.log for logging (error 28). Turning logging off for the whole duration of the MySQL server process. To turn it on again: fix the cause, shutdown the MySQL server and restart it.
・FLUSH LOGSを実施した際の動作
エラーログを含めたすべてのファイルは、0byteで新規に作成される。
(一般クエリログとスロークエリログに関しては、)
・ディスク領域が増えた場合
一般クエリログ・・・停止したまま(出力なし)
スロークエリログ・・・停止しまま(出力なし)
エラーログ・・・出力される(ディスクフル時に出力していたはずのログは消えていていて、
過去をさかのぼって出力はされない)
パラメータを確認してもONになっているが、実際は出力されていない
mysql> show variables like 'general_log';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| general_log | ON |
+---------------+-------+
mysql> show variables like 'slow_query_log';
+----------------+-------+
| Variable_name | Value |
+----------------+-------+
| slow_query_log | ON |
+----------------+-------+
このログ再出力時の対処方法、
一般クエリログとスロークエリログのOFF⇒ONを実施
mysql> set global general_log=OFF;
Query OK, 0 rows affected (0.00 sec)
mysql> set global general_log=ON;
Query OK, 0 rows affected (0.02 sec)
mysql> set global slow_query_log=OFF;
Query OK, 0 rows affected (0.00 sec)
mysql> set global slow_query_log=ON;
Query OK, 0 rows affected (0.05 sec)
MySQLのDBとしての動作上は問題ないが、ログの出力が停止する。
対象ログ
-エラーログ
-一般クエリログ
-スロークエリログ
・全ログでログの出力ができなくなる。一般クエリログとスロークエリログに関しては、
以下のエラーを出力し、ログが停止する。
[ERROR] Could not use /var/log/mysql/mysqld-slow.log for logging (error 28). Turning logging off for the whole duration of the MySQL server process. To turn it on again: fix the cause, shutdown the MySQL server and restart it.
[ERROR] Could not use /var/log/mysql/general.log for logging (error 28). Turning logging off for the whole duration of the MySQL server process. To turn it on again: fix the cause, shutdown the MySQL server and restart it.
・FLUSH LOGSを実施した際の動作
エラーログを含めたすべてのファイルは、0byteで新規に作成される。
(一般クエリログとスロークエリログに関しては、)
・ディスク領域が増えた場合
一般クエリログ・・・停止したまま(出力なし)
スロークエリログ・・・停止しまま(出力なし)
エラーログ・・・出力される(ディスクフル時に出力していたはずのログは消えていていて、
過去をさかのぼって出力はされない)
パラメータを確認してもONになっているが、実際は出力されていない
mysql> show variables like 'general_log';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| general_log | ON |
+---------------+-------+
mysql> show variables like 'slow_query_log';
+----------------+-------+
| Variable_name | Value |
+----------------+-------+
| slow_query_log | ON |
+----------------+-------+
このログ再出力時の対処方法、
一般クエリログとスロークエリログのOFF⇒ONを実施
mysql> set global general_log=OFF;
Query OK, 0 rows affected (0.00 sec)
mysql> set global general_log=ON;
Query OK, 0 rows affected (0.02 sec)
mysql> set global slow_query_log=OFF;
Query OK, 0 rows affected (0.00 sec)
mysql> set global slow_query_log=ON;
Query OK, 0 rows affected (0.05 sec)
この記事へのコメント