sql >> データベース >  >> RDS >> Mysql

ibdata1からmysqlデータベースを回復します

    以下は私のために働いた:

    • 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サーバーを再起動します



    1. OracleJobSchedulerを使用したIRIデータ統合ジョブの自動化

    2. 効率的なデータベースを管理するための10のヒントとコツ

    3. SQLServerデータベースで作成された主キー制約を持つすべてのテーブルを取得する方法-SQLServer/TSQLチュートリアル57

    4. Mysql/Mariadbの一意のインデックスを作成するEctoが失敗しました