Mysqlがクラッシュ!再起動しても直ぐにクラッシュして起動しない
移行中のサーバーで、簡単・お手軽にRsync(/var/lib/mysql/フォルダのコピー)を使って、MySQLデータベースサーバーを移行した際に、正常動作中のMySQLが突然クラッシュしてダウンしてしまった。
移行後、ほんの数分前までは快適に動作していたデータベースが、データベースの接続エラになったのだ。
データベースを再起動しても、起動中にエラーで失敗してしまう。
エラーログを確認してみると
/usr/libexec/mysqld: File ‘./mysql-bin.000085’ not found (Errcode: 2)
[ERROR] Failed to open log (file ‘./mysql-bin.000085’, errno 2)
[ERROR] Could not open log file
[ERROR] Can’t init tc log
[ERROR] Aborting
InnoDB: Starting shutdown…
InnoDB: Shutdown completed; log sequence number 150757546120
[Note] /usr/libexec/mysqld: Shutdown complete
mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
のエラーが出力されていた。
なるほど、原因はmysql-binだった。
Cronで定期的に、移行元のデータベースを同期させていたので、移行先が稼働しているにもかかわらず、データベースの同期が走っていた。
簡単にサーバー内のシステム一式を移行したまでは良かったが、最後にミスを犯してしまった。
問題となっているmysql-binを全てクリアし、破損してしまったテーブルをrepairし修復した。
反省の意味を込めて、明日一日は社内で頼まれた雑用はYesマンでいようと思った。
程々にお願いします