No.131


【MySQL】バイナリログの削除

MySQLのバイナリログを一括で削除する

注:危険な行為なので自己責任でお願いします。

 MySQLのトラブルで一番厄介なのが

MySQL Daemon failed to start.

 とだけ吐きだして、/var/log/mysqld.logには何も情報が記載されていないいケース。

 今までに2回この現象に遭遇して、1回は

  • ディスクの空き容量が無い

 だった。
 もう一回が今回話題にする

  • MySQLのバイナリログがでかくなりすぎて起動に失敗する

 という現象だ。
 仮想環境とかでメモリなどのリソースが少なめかつ、狂ったようにmigrationなどでデータを更新するときに発生する気がするが、確たる原因は今のところつかめていない。

 この現象の厄介な所は、MySQLが起動できないので正規の方法でバイナリログを削除できない所にある。

 そんなときは下記コマンドでバイナリログを物理的に削除してしまおう。

rm -f /var/lib/mysqld/mysql-bin.*

 バイナリログの履歴管理ファイル/var/lib/mysqld/mysql-bin.indexも削除してしまうので整合性が失われることもない。

 …まあ、いくら何でも力業すぎる荒療治なので、使用は自己責任でお願いします。