MySQLスレーブを同時にマスターにすることはできますか?


17

2つのDBサーバー(マスターとスレーブ)を2つの新しいDBサーバー(マスターとスレーブ)に移行中です

DB1-マスター(実動)

DB2-スレーブ(本番)

DB3-新しいマスター

DB4-新しいスレーブ

現在、レプリケーションは次のように設定されています。

DB1 -> DB2
DB3 -> DB4

運用データを新しいサーバーに複製するには、次のように「デイジーチェーン」で接続します。

DB1 -> DB2 -> DB3 -> DB4

これは可能ですか?show master status;DB2(本番スレーブ)で実行すると、binlogの位置は決して変わらないようです:

+ ------------------ + ---------- + -------------- + ---- -------------- +
| ファイル| 位置| Binlog_Do_DB | Binlog_Ignore_DB |
+ ------------------ + ---------- + -------------- + ---- -------------- +
| mysql-bin.000020 | 98 | | |
+ ------------------ + ---------- + -------------- + ---- -------------- +

DB2でbinlogの位置が変化しない理由については少し混乱していますが、理想的にはDB3のマスターになります。

回答:


16

上のbinlog DB2はスレーブの更新を更新していませんでした。複製をデイジーチェーンするにはlog-slave-updates、my.confで設定する必要があります。

http://dev.mysql.com/doc/refman/5.1/en/replication-options-slave.html#option_mysqld_log-slave-updates


しかし、その後、ログを2回書き込みます。1回はリレーログに、1回はbinlogファイルに書き込みます。なぜリレーログを使用してスレーブから複製しないのですか?
hpaknia

9

はい、それは可能です:)これは「マスターとリレースレーブ」レプリケーションと呼ばれ、それに関する多くのドキュメントがネット上にあります。

ここの公式文書を見ることをお勧めします。

ところで、これらのスライドもご覧ください。レプリケーショントポロジに関するいくつかのヒントがあります。

お役に立てれば。


3

はい-mysqlサーバーをデイジーチェーン接続できます。2台以上のマシンで循環レプリケーションを行うこともできます。マスターとしても機能するスレーブでバイナリログを有効にすることを忘れないでください。


1
循環レプリケーションは非常に脆弱です。ほとんどの状況ではお勧めできません。
ワーナー

@Warner-これは、さらに複雑なレプリケーションセットアップの例にすぎません。
pQd

友人は、友人にmysqlサーバーをデイジーチェーン接続させません。
sjas

@sjasは、それを実行する非常に具体的な理由がなく、チェーンを切断した場合の潜在的な結果を理解しない限り。
-pQd

申し訳ありませんが、それでもありません。複雑さは常にあなたを悩ませます。
sjas

0

はい、可能です。現実的には、DB3を構築するにはDB2の新しいスナップショットが必要です。その時点で、適切な位置にある場合、DB4よりも使用するか、DB3の別のスナップショットを取ることができます。

server_idサーバーごとに一意を設定することを忘れないでください。

ハイパフォーマンスMySQLは、より高度なMySQL管理を参照するための素晴らしい本です。


DB2は現在スレーブにすぎませんが、binlogの位置は変更されていません...それが正常かどうか知っていますか?
mmattax

スレーブ(DB2)はマスターと最新の状態ですが、binlogの位置は変更されていません。何を確認すればよいですか?
mmattax

はい、DB1のデータを変更でき、DB2に複製されることを確認しましたが、DB2のbinlogの位置は同じです。
mmattax

DB @はスレーブの更新をログに記録していないので、位置が変わらないのはなぜでしょうか。dev.mysql.com
refman

0

DB3を新しいスレーブとして追加し、切り替えの準備ができたらマスターに昇格させてみませんか?これにより、複数のスレーブが一時的に追加され、ダウンタイムを削減または排除できます。


それはまさに私がやっていることです
...-mmattax
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.