2016-05-22 8 views
0

データベースのクエリがこの初期量を増減させた後、ユーザーがシステムに資金をアップロードするプロジェクトを行っています。 私は、サーバーが壊れている場合でも、1つのトランザクションを失うことなく、休憩前に同じ状況を再構築できるバックアップを行う必要があります。 データベースが数MBの重さではなく、1時間あたり3/4クエリになると考えると、データベーストランザクションで実行されるたびに増分バックアップを実行すると思います。 データベースが(INSERT、UPDATE)データを変更するクエリに作成されたときに、バックアップをとるプログラムはありますか?地理的に異なる場所にあるリモートサーバープラスつまたは複数のスレーブに(mysqldumpを使用して)MYSQL - トランザクションごとにデータベースのバックアップ

+0

私は、DBが小さく、VMWare H/Aのようなものにアクセスすると、すべての変更のビットコピーを行うように設定することができます。過去の私の唯一の問題何らかの破損があった場合、この破損はソースから直接ターゲットマシンに複製されます。非常に畳み込まれた、そして非常に痛いPCIのものから脱退したので、私は彼らの文書から多くの助けがないと言うことができます。マスター/スレーブはおそらくあなたの最高のオプションです。 –

答えて

0

毎日のスナップショットは十分です:

  • あなたはマスターを失った場合:スレーブが最新のデータを持っている
  • 一部のデータが紛失した場合:マスタとスレーブは、レプリケーションバイナリログでクエリを実行します
  • すべて緩い場合:毎日のバックアップがあります。

しかし、あなたはMySQLのテーブルに実際のお金を保存している場合、(sha256のような)チェックサムを格納することによって、のようなデータベースの状態の暗号化証明を使用することを検討してください前のもので塩漬け各トランザクションのように誰もいませんupdate変更後のすべてのチェックサムをすべて更新せずにトランザクションを実行することができます。sha256(current_transaction, previous_sha1)

署名行が強制する「書き込み専用データベース」について文書化することもできます。rawを削除するとsha1チェーンが破棄され、明示的に調整されたものとしてテーブルがマークされます。

お金を貯めている間に取ることができるすべてのセキュリティ対策について十分に書き込むことはできませんが、明らかにバックアップだけでは不十分です(各バックアップの各行でsha256 "proofs"変更される可能性もあります...)

しかし、あなたがしようとしていることに関する多くの情報が含まれている "PCI DSS"のような認定の方向であなた自身を文書化することができます

関連する問題