その性質の何かを引き出すための1つの良い方法は、マスターマスターレプリケーションまたは循環レプリケーションを設定することです。これをMultiMaster Replciationと混同しないでください。
マスター/スレーブレプリケーションを設定していれば、循環レプリケーションの設定は非常に簡単です。これを構成するために必要な作業は次のとおりです。
この例では、マスタースレーブレプリケーションがアクティブであると想定しますが、少しのダウンタイム(1〜2分)が発生します。
ステップ1)この行をマスターの/etc/my.cnfに追加します。
log-slave-updates
ステップ2)スレーブの/etc/my.cnfに次の行を追加します。
log-bin = mysql-bin(またはこのためにマスターが持っているものは何でも)log-slave-updates
警告:ここにダウンタイムの短い瞬間があります!!!
ステップ3)スレーブで、mysqlを再起動します。
これにより、スレーブのバイナリログがアクティブになります
ステップ4)マスターで、mysqlを停止します。
ステップ5)rsyncを使用して、スレーブの/ var / lib / mysqlフォルダーをマスターにコピーします。
警告:ダウンタイムの長い瞬間です!!!
ステップ6)スレーブで、mysqlを停止します
手順7)スレーブで、最後のバイナリログを確認します
ステップ8)スレーブで、最後のバイナリログのファイルサイズを確認します
ステップ9)rsyncを使用して、スレーブの/ var / lib / mysqlフォルダーをマスターにコピーします。これはより高速なコピーになるはずです。
ステップ10)マスターで、
master.infoの行2をスレーブの最後のバイナリログで編集します。
master.infoの3行目。スレーブの最後のバイナリログのファイルサイズ。
master.infoの4行目、スレーブのIP。
5行目はレプリケーションユーザーのユーザーIDです(DO NOT TOUCH)
6行目はレプリケーションユーザーのパスワードです(DO NOT TOUCH)
手順11)マスターのすべてのバイナリログとバイナリログインデックスファイルを削除します。
ステップ12)スレーブで、mysqlのサービスを開始し、15秒待ちます
ステップ13)マスターで、mysql startサービス
ステップ14)マスターで、STOP SLAVEを実行します。マスターステータスを表示;
ステップ15)スレーブでCHANGE MASTER TO MASTER_HOST = 'IP of Slave'、MASTER_USER = 'userid of replication user from Step10'、MASTER_PASSWORD = 'password of replication user from Step10'、MASTER_LOG_FILE = 'binary log from Step14'、 MASTER_LOG_POS = Step14のLogPos。
ステップ16)スレーブで、START SLAVEを実行します。
ステップ17)マスターで、START SLAVEを実行します。
私が回答した別のStackExchange質問に対しても、同様の手順を実行しました。
試してみる !!!