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

October 30, 2013,
tags: mysql innodb


このエントリーをはてなブックマークに追加

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

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

$ mysqld_safe --user=root &

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

innodb_force_recoveryでなんとかする

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

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

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

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

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

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

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