私たちは、MySql バックエンドを使用して、さまざまなショップで Java PoS (Point of Sale) アプリケーションを実行しています。ショップのデータベースをホスト サーバー上のデータベースと同期させたいと考えています。
ショップで何らかの変更があった場合、ホスト サーバーで更新される必要があります。これを実現するにはどうすればよいでしょうか?
ベストアンサー1
レプリケーションを作成するのはそれほど難しくありません。
ここにいくつかの良いチュートリアルがあります:
http://www.ghacks.net/2009/04/09/set-up-mysql-database-replication/
http://www.lassosoft.com/Beginners-Guide-to-MySQL-Replication
以下に、覚えておかなければならない簡単なルールをいくつか示します (もちろん、他にもルールはありますが、これが主な概念です)。
- データを書き込むためのサーバー(マスター)を 1 台セットアップします。
- データを読み取るための 1 台以上のサーバー (スレーブ) をセットアップします。
こうすることで、エラーを回避できます。
例えば:スクリプトがマスターとスレーブの両方の同じテーブルに挿入する場合、重複した主キーの競合が発生します。
「スレーブ」は、マスターと同じ情報を保持しながらも、データを直接追加することはできず、マスター サーバーの指示に従うだけの「バックアップ」サーバーとして見ることができます。
注意: もちろん、マスターから読み取り、スレーブに書き込むことは可能ですが、同じテーブル (マスターからスレーブ、スレーブからマスター) に書き込まないようにしてください。
すべてが正常であることを確認するためにサーバーを監視することをお勧めします。
さらにサポートが必要な場合はお知らせください