以下は私のために働いた:
-
my.cnfでinnodb_force_recovery=1を設定します
-
mysqldを再起動してみてください。そうでない場合は、成功するまで手順1とincrementinnodb_force_recoveryをそれぞれ繰り返します。ガイドを使用して、インクリメントするたびに何が起こっているかを理解してください。 http://dev.mysql.com/doc/refman/5.0/en/forcing-innodb-recovery.html
-
mysqldが実行されたら、すべてのデータベースをダンプしてみてください
- それがうまくいかない場合は、最初にデータベースレベルで試す必要があります
- それがうまくいかない場合は、テーブルレベルで試す必要があります
-
これらのいずれかが成功し、すべてのデータベースまたはすべてのテーブルがエクスポートされたら、mysqldを停止します
-
ib_logfile *> ib_logfile*.bakを移動します。これらは通常、mysqlデータディレクトリにあります。
-
最初のステップでinnodb_force_recovery=>4をインクリメントした場合は、4未満に設定する必要があります。5.6.15以降、4以上のinnodb_force_recovery設定により、InnoDBは読み取り専用モードになります。
-
mysqldサーバーを起動します
-
エクスポートしたデータベースまたはテーブルをインポートします
-
innodb_force_recovery => 1
をインクリメントしました -
mysqldサーバーを再起動します