仕事でしなければならないタスクの問題に直面しています。私の会社の複数のクライアントの情報を保持する MySQL データベースがあり、単一のクライアントのそのような情報をバックアップおよび復元するためのバックアップ/復元手順を作成する必要があります。明確にするために、クライアントAがデータを失っている場合、クライアントB、Cなどのデータを変更していないことを確認して、そのようなデータを回復できる必要があります...私はDB管理者ではないので、標準の mysql ツール (mysqldump など) またはその他のバックアップ ツール (Percona Xtrabackup など) を使用してこれを実行できるかどうかを確認してください。
バックアップとして、私の調査 (および私の直感) により、次の可能な解決策にたどり着きました。
- insert-select 構文を使用して復元挿入ステートメントを作成します (http://dev.mysql.com/doc/refman/5.1/en/insert-select.html)。
- この挿入を適切な順序で sql ファイルに保存するか、このスクリプトが外部キーの制約を満たすために外部キー チェックを一時的に無効にできるようにします。
- もちろん、私はすべてのクライアントに対して毎日、クライアント (および日) ごとにファイルを使用してこれを行います。
次に、特定のクライアントのデータを復元する必要がある場合:
- 残された彼のデータをすべて削除します。
- バックアップ中に作成した SQL ファイルを使用して、正しいデータを復元します。
このようにして、クライアント B のデータに触れることなく、クライアント A の適切なデータを回復できると信じています。私のソリューションは最終的に機能しますか? 同じ結果を達成するためのより良い方法はありますか? または、私の問題についてさらに情報が必要ですか?
この質問が整形式でない場合はご容赦ください。しかし、私はここに新しく、これが私の最初の質問なので、不正確かもしれません...とにかく助けてくれてありがとう。
注: また、mysqldump を使用してデータベース全体をバックアップします。