ログ領域がディスクフル時の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)

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント

この記事へのトラックバック

  • プラダ 店舗

    Excerpt: ログ領域がディスクフル時のMySQLの動作について インフラ屋の備忘ブログ/ウェブリブログ Weblog: プラダ 店舗 racked: 2013-07-07 04:40