1

ビッグデータプロジェクトがあります。サーバーは2 つあり、1 つは情報の解析用で、もう 1 つはウェブサイト用です。

  1. 最初のサーバーは: パーサー サーバー / データ収集 (MySQL マスター)
  2. 2 番目のサーバー: ウェブサイト サーバー (MySQL スレーブ)

問題は、mysql スレーブがいくつかのレコードを時々変更する必要があることです。その情報を master に同期するにはどうすればよいでしょうか?

クエリは非常に単純で、次のようになります。

UPDATE domains SET views = views + 1 WHERE id = $DOMAIN_ID
4

1 に答える 1

2

これを行う 1 つの方法は、最初のサーバーを 2 番目のサーバーのスレーブにすることです。これにより、マスター - マスター レプリケーション セットアップと呼ばれるものが得られます。

したがって、これの代わりに:

db1 -> db2

あなたはこれを持っています:

db1 <-> db2

これを機能させるには、2 つのサーバーがそれぞれ一意のserver_id値を持ち、両方でバイナリ ログが有効になっていることを確認する必要がありread_onlyます。また、2 番目のサーバーでオプションを無効にする (現在有効になっている場合) か、更新を行う必要があります。 2 番目のサーバーで、super特権を持つユーザーを使用します。

于 2013-08-09T18:08:47.580 に答える