2017-11-28 6 views
1

私はいくつかのサーバーを持っており、1つのデータベースに対してMaster - Slave Mysqlレプリケーションを準備したいと考えています。両方のサーバーには多くのデータベースがあり、私はID生成のセキュリティを変更したくありません。たとえば、構成を準備した後、サーバーのすべてのIDの偶数だけをテーブルに入れたいとは考えません。Mysql Master-Slaveレプリケーションを変更せずにserver-idプロパティー

レプリケートされたデータベース(スレーブサーバー)には書き込みが許可されません。

このシナリオを設定することは可能ですか? 事前に感謝します。

+0

私のせいでドキュメントをうまく理解せず、パラメータ 'server_id'と' auto_increment_increment'を混在させました。今私はそれを設定し、それはうまく動作します。注意すべき点は、[mysqld]セクション内のmy.cnfにパラメータを追加することだけです。私はそうしなかったし、私がこのような理由で実現するまで動かなかった。 この質問を削除する必要があるかどうかはわかりません。他のユーザーには何も寄与できないためです。 – MikeBau

答えて

1

更新:server_idは、ID生成とは関係ありません。それはあなたのレプリカセットの各サーバー上で一意の0より大きい整数でなければなりません。以下は


それは私が考えることができる唯一の機能は、複製および自動インクリメントID生成の両方に関係していますので、あなたがについて尋ねられたかについての私の推測だった私のオリジナルの答えです。

単純なマスター/スレーブレプリケーションのID生成を変更する必要はありません。

あなたはauto_increment_increment=2を使用する可能性のあるシナリオは、2台のサーバーが互いに複製マスターマスター・レプリケーション、あり、そして挿入が両方のサーバー上で発生した場合には、スプリットブレインのリスクを最小限にしたいです。しかし、これはあなたが記述するシナリオではありません。

マスターが1つしかなく、変更を直接書き込むサーバーで、そのマスターからレプリケートするスレーブがすべて読み取り専用の場合は、auto_increment_incrementを変更する必要はありません。

+0

ありがとうございましたが、私が参照していたプロパティは 'server-id'です(' auto_increment_increment'ではなく)、私は各サーバで異なる値を持たなければならないと考えました。 – MikeBau

+0

上記の私の編集を参照してください。 –

+0

そうですね、私はこのシナリオを実装するつもりです。何か問題があれば、もう一度お聞きします。うまくいけば、私はその質問を終えるでしょう。ご助力ありがとうございます。 – MikeBau

関連する問題