Ich habe eine MySQL-Master-Slave-Replikation, die gut funktioniert. Ich habe das gesamte Netz und die MySQL-Site gegoogelt, um das Standardverfahren für die Verwendung der Replikation zu finden, aber nichts gefunden. Es ist, als ob Administratoren sich über eine Replikation freuen, aber wenn die Zeit für eine Notfallwiederherstellung gekommen ist, wurde kein erster Plan in die Praxis umgesetzt und öffentlich geteilt.
Was ich wissen möchte, ist, wie die Slave-Maschine die Master-Maschine ersetzen kann, falls diese später beschädigt, verbrannt usw. wurde. Ich denke, die Slave-Maschine sollte die Netzwerkadresse des Masters übernehmen, aber was sollte sonst noch getan werden? Zum Beispiel das Ändern von MySQL-Benutzerberechtigungen oder das Ausführen einiger Befehle! Bitte geben Sie ggf. Referenzen an.
quelle
Antworten:
Für eine DR-Lösung möchten Sie höchstwahrscheinlich einen halbmanuellen Prozess. Das heißt, Sie müssen entscheiden, ob die Katastrophe ein vollständiges DR-Failover validiert, und es ist nicht nur ein kleiner Netzwerkfehler, und Sie stecken mit Tagen der Failback-Arbeit fest.
Um einen MySQL-Slave auf einen Master umzustellen, geben Sie einfach ein paar Befehle in MySQL ein. MySQL-Details finden Sie hier .
Ich würde dringend empfehlen, den gesamten Prozess zu skripten (und zu testen!) Und alle anderen Befehle hinzuzufügen, die Sie möglicherweise auf der Box ausführen möchten, um das DR-Failover durchzuführen (starten Sie die Webschicht neu oder was auch immer erforderlich ist). Wir verwenden func auf einem Verwaltungsserver, um Failover-Befehle in allen Ebenen unserer Anwendungen auszuführen.
Wenn ich mich auf Disaster Recovery beziehe, spreche ich von einem Site-Fehler. Bei einem Cluster-Failover sollten die Dinge wahrscheinlich automatisch und viel einfacher sein.
quelle
Um einen MySQL-Server durch ein Replikat zu ersetzen, muss lediglich die IP-Adresse des Servers geändert werden. In MySQL sind keine weiteren Befehle erforderlich.
Für zusätzlichen Komfort können Sie Folgendes tun, wenn Sie etwas Ruhe wünschen und dies automatisch tun möchten:
Dieses Setup hat viele Vorteile. Sie können problemlos Wartungsarbeiten an einem Knoten durchführen, indem Sie den Datenverkehr auf den anderen umschalten, und eine problemlose Wiederherstellung durchführen. Sie müssen nicht einmal aus dem Bett aufstehen :) Obwohl eine Empfehlung lautet, seien Sie bei Ihrem Virtual klug IP-Parameter können dazu führen, dass beide Knoten versuchen, die virtuelle IP zu beanspruchen, was nicht das gewünschte Ergebnis ist.
quelle
Angenommen, Sie haben 2 MySQL-Slaves: Slave 1 und Slave 2. Falls Ihr Master ausfällt, entscheiden Sie sich, den Slave 1 zu einem neuen Master zu befördern. Ich schlage ein Verfahren vor:
Stellen Sie sicher, dass alle Slaves alle Anweisungen in ihrem Relay-Protokoll verarbeitet haben mit:
Werben Sie auf Slave 1, um ein Meister zu werden mit:
Zeigen Sie auf Slave 2 auf einen neuen Master mit:
Und schließlich wird jeder Client angewiesen, seine Anweisungen an Slave 1 zu richten.
http://dev.mysql.com/doc/refman/5.0/de/replication-solutions-switch.html
quelle
stop slave;
warten Sie einfach eine Weile, um Anweisungen zu verarbeiten, undreset master;
.