【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を再インストールして、ダンプをインポートすれば、復旧完了です。
もしかしすると、データが一部欠損していたりする可能性もあります。クラッシュにもいろいろなケースがありますので、万能というわけではないと思います。
どうしようも無くなったらお試しください。
コメント