Ich bin dabei, 2 DB-Server (Master & Slave) auf zwei neue DB-Server (Master und Slave) zu migrieren.
DB1 - Master (Produktion)
DB2 - Slave (Produktion)
DB3 - Neuer Master
DB4 - Neuer Slave
Derzeit habe ich die Replikation eingerichtet als:
DB1 -> DB2
DB3 -> DB4
Damit die Produktionsdaten auf die neuen Server repliziert werden, möchte ich sie "verkettet" haben, damit sie so aussehen:
DB1 -> DB2 -> DB3 -> DB4
Ist das möglich? Wenn ich show master status;
unter DB2 (dem Produktions-Slave) arbeite, scheint sich die binlog-Funktion nie zu ändern:
+ ------------------ + ---------- + -------------- + ---- -------------- + | Datei | Position | Binlog_Do_DB | Binlog_Ignore_DB | + ------------------ + ---------- + -------------- + ---- -------------- + | mysql-bin.000020 | 98 | | | + ------------------ + ---------- + -------------- + ---- -------------- +
Ich bin ein bisschen verwirrt, warum sich die Binlog-Position unter DB2 nicht ändert. Idealerweise ist dies der Master für DB3.
quelle
Ja, das ist möglich :) Dies nennt man "Master with Relay Slave" -Replikation und es gibt viele Dokumente darüber im Netz.
Ich empfehle Ihnen, sich hier die offizielle Dokumentation anzusehen .
Schauen Sie sich auch diese Folien an . Sie enthalten einige Hinweise zu Replikationstopologien.
Hoffe das hilft.
quelle
Ja, Sie können MySQL-Server hintereinander schalten und sogar eine zirkuläre Replikation mit zwei oder mehr Computern durchführen. Denken Sie daran, das Binloging auf dem Slave zu aktivieren, der auch als Master fungiert.
quelle
Ja, es ist möglich. Realistisch gesehen benötigen Sie einen neuen Snapshot von DB2, um DB3 zu erstellen. Zu diesem Zeitpunkt können Sie, wenn Sie eine gute Position haben, entweder DB4 oder einen anderen Schnappschuss von DB3 verwenden.
Vergessen Sie nicht,
server_id
für jeden Server einen eigenen Wert festzulegen.Hochleistungsfähiges MySQL ist ein großartiges Buch zum Referenzieren fortgeschrittener MySQL-Administration.
quelle
Warum nicht einfach DB3 als neuen Slave hinzufügen und dann zum Master hochstufen, wenn Sie bereit sind, den Switch durchzuführen? Dies bietet Ihnen den temporären zusätzlichen Vorteil, mehrere Slaves zu haben und Ihre Ausfallzeiten zu reduzieren oder zu eliminieren.
quelle