テーブルが破損している場合、バックアップを復元できますか?
-
06-07-2019 - |
質問
これがあなたにとって簡単な答えになることを望んでいます。
Webベースの管理ツールとなる製品のシングルボードコンピューターでPHP / MySQLを実行しています。この製品は「設定して忘れる」アプリケーションになります。
懸念の1つは(有効かどうかにかかわらず)MySQLテーブル/ dbaseの破損です。
この小さなボックスで継続的に実行されるプロセスがあり、破損を診断したり、dbaseエラーをキャッチしてそれに応じて行動したりできます。
これらの同じプロセスを介して定期的にバックアップを作成しています。私たちの考えは、破損を検知したり、dbaseエラーをキャッチした場合、プロセスを一時的に停止し、最新のバックアップからテーブルを復元することです。これにより破損が修正されることを期待しています。
問題は、MySQLテーブルが破損している場合、バックアップ復元を実行できますか
フォローアップの質問は、上記のロジックが正しいかどうかだと思います。バックアップの復元はテーブル破損の問題を修正しますか?
これはばかげているように聞こえますが、MySQLバックエンドについてはそれほど詳しくありません。私たちの恐れは、dbase(またはテーブル)が何らかの形で破損した場合、これもバックアップの復元を妨げることです。
あなたの何人かはこれについて議論することができますか?
どうもありがとう。
解決
はい、そうです。データは最後のバックアップまでしか保持されないため、その時点から破損した時点までのデータはすべて失われますが、これは通常最大で1日です。
バックアップは、バックアップ中の状態にかかわらず、データベースのコピーです。クリーンバックアップを使用して破損したデータベースを復元する場合は、苦労するでしょう。このため、毎月のバックアップと過去7日間のバックアップも保持してください。バックアップの1つが停止した場合に備えて。
他のヒント
それを考える前であっても、破損したテーブルがバックアップされないように対策を講じる必要があると思います。バックアップを復元し、バックアップ自体が破損している場合、開始した場所に戻っているためです。
使用しているストレージエンジンは何ですか?
1つ考慮すべき点があります。データベースの構造に応じて、バックアップから単一のテーブルを復元すると、参照整合性の問題が発生する可能性があります。
バックアップがあるのはそれがポイントだと思いますか?
さらに、テーブルが既に破損している場合、復元しようとしたときに発生する可能性がある最悪の事態は何ですか?
私はそれのために行くと言います。