SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 社員募集 ...

【MySQL】InnoDBがクラッシュしたら

InnoDBは通常、mysqldの起動時に自動修復を行うのですが、それが不可能な場合、エラーログに次のようなメッセージが記録されます。

InnoDB: You may have to recover from a backup.

バックアップも取ってない……

そんなときは「innodb-force-recovery」を使ってみます。

my.cnfの[mysqld]のブロックに次のように記述します。

innodb-force-recovery = 1

こうすると、InnoDBの自動修復が行われず、mysqldが起動してくれます。

その後、mysqldumpでダンプを取り、mysqlを再インストールして、ダンプをインポートすれば、復旧完了です。

もしかしすると、データが一部欠損していたりする可能性もあります。クラッシュにもいろいろなケースがありますので、万能というわけではないと思います。

どうしようも無くなったらお試しください。

関連するメモ

コメント