2

私はMySQLレプリケーションに比較的慣れていません。一言で言えば、私は3つのUbuntuLucidLynxサーバー上にMySQL5.1サーバーインスタンスを持っています。

ATM単一のデータベースをサーバーC(SLAVE)に複製するサーバーA(MASTER)があります。

これは問題なく数ヶ月間実行されています。

サーバーB(MASTERとして)に別の単一データベースをサーバーC(SLAVE)に複製させたいと思います。

私はこれを実装することを検討していましたが、私の最初の読み取りは、レプリケーションスレーブサーバーが2つのマスターを持つことができないことを示しているようです。

私の質問は、単一または選択されたデータベースのみが複製されている場合でも、これは当てはまりますか?

異なるマスターから同じデータベースを複製したくないことを覚えておいてください。別々のマスターから、単一のサーバー上に複数の別々のデータベースを複製したいだけです。

4

2 に答える 2

3

MySQL では、データベースごとに異なるマスターを設定できます。

この本high performance MySQLには、この問題に関する完全な章があります。コピーを入手して、その中の情報を使用することをお勧めします。

http://oreilly.com/catalog/9780596101718/

関連する章のコピーをオンラインで読むことができます:
http://oreilly.com/catalog/hpmysql/chapter/ch07.pdf

これは第 1 版のもので、第 2 版の方が最新ですが、複製を扱う第 8 章はオンラインで無料で入手できません。

更新
私が話している解決策は、本の第 2 版にのみあります。同様の質問に対するこの回答を参照してください: MySQL で N マスター => 1 スレーブ レプリケーションを行うことは可能ですか?

于 2011-05-26T13:49:11.520 に答える
1

一般に、これを行うことはできません。多対 1 から複製することはできません (1 対多から複製できます)。

また、実際には 1 つのデータベースだけを複製することはできません。ステートメント ベース モードでデータベース間で更新を行うと、複製できなくなります。つまり、誰かがマスターで複製を行うとすぐに、スレーブが失敗する (または同期が取れなくなる) ことになります。

標準的な解決策は、複数の mysql インスタンスをインストールすることです。これは理想とはほど遠いですが、機能します。

于 2011-05-26T14:23:49.930 に答える