VagrantのMySQLが久々に壊れたので、復旧メモ。
- WordPressでとあるページを開くと激重で全然ページが描画されない。数分〜10分以上待つ必要がある。本番サーバだとすぐ描画される。
- Macbookの電池が弱っていて2時間位で電池切れになる。突然Macが電池切れで落ちた。いつも落ちるのだけどMySQLが壊れたのは今回が初めて。
- 帰宅してアダプタ付けて再起動するとMySQLが起動しない。Macを再起動してもvagrantを再起動しても起動しない。
- この時Mac自体のSSDの空き容量も10GB以下になっていた。MySQLがめちゃめちゃ書き込みしてたということでは無く、普段使いで容量が減っていた。
# /etc/mysql/my.cnf wait_timeout = 86400 max_allowed_packet = 1G innodb_buffer_pool_size = 1G
↑試したけど起動せず。
# /etc/mysql/my.cnf innodb_force_recovery = 3
↑1,2が起動せず、3で起動した。すばらしい。
mysqldump -u root -p -x --all-databases > alldatabase.dump
↑これで全データベースをエクスポート出来る。
だが、容量が大きすぎるカラムでエラーが出て止まる。
容量がでかすぎるDBもdropしようとしてもエラーで止まるので削除出来なかった。。これは困る。
↓ubuntu16だとこの中に全てのDBが入ってるので、このフォルダをコピーしてバックアップとしてもいいのかもしれない。復元している人が居ない...。復元方法が不明なので、mysqldumpで全てのDBのバックアップを取っておくのが無難。
/var/lib/mysql
で、MySQLを全部消して再インストールはせず、初期化することにした。結果これで今の所動いてるっぽい。まだ2日しか経ってないけど。