Featured image of post Innodbが壊れた時になんとかする方法

Innodbが壊れた時になんとかする方法

Twitter ツイート Hatena Bookmark ブックマーク

こんばんわ。最近電車通勤になって正直つらいなぁーと思っている僕です。
今日はinnodbが壊れてmysqlが起動しない的なマジどんまいな場合の対処法をご紹介します。

まずはセーフモードで起動する

1
$ mysqld_safe --user=root &

まあこれで起動しないなんてことはよくあります。

innodb_force_recoveryでなんとかする

my.cnfにinnodb_force_recoveryの設定を書きます。

1
2
3
$ vim /etc/my.cnf
[mysqld]
innodb_force_recovery=1

レベルが1〜6まであるので、徐々に数値を上げていきましょう。
起動出来たら速攻でmysqldumpでデータのバックアップをとりましょう。

1
$ mysqldump -u root -p dbname > backup.sql

ってな感じで復旧してました。
データの破損とかあるかもしれないので、dumpした後のデータは要チェックです。
まあバックアップはしっかりとれよってはなしですね。

そーいえばmysql5.6から遅延スレーブできますね。

1
mysql> CHANGE MASTER TO MASTER_DELAY=3600

これで1時間遅延するので、あっていうときになんとか出来そうですね。

参考

14.2.7.6. Starting InnoDB on a Corrupted Database
13.4.2.1. CHANGE MASTER TO Syntax

comments powered by Disqus
Built with Hugo
テーマ StackJimmy によって設計されています。