Ohne Unterbrechung zum MySQL-Replikationsserver migrieren

Ohne Unterbrechung zum MySQL-Replikationsserver migrieren

Ich habe 3 Apache2/Tomcat-Server in einem Lastenausgleichs-Setup. Jeder Tomcat-Server stellt eine Verbindung zu einer MySQL v5.0-Datenbank her (alle 3 teilen sie sich).

Ich habe im selben Netzwerk ein halbsynchrones MySQL v5.5-Setup (1 Master, 2 Slaves) erstellt. Sie sind alle betriebsbereit und enthalten dasselbe DB-Schema wie die v5.0-DB, jedoch ohne die Daten.

Ich muss alle Daten von der alten Datenbank auf den neuen Master migrieren und dafür sorgen, dass die Tomcat-Server die neue JDBC-URL verwenden, um eine Verbindung mit der eingerichteten halbsynchronen Datenbank herzustellen.

Gibt es eine Möglichkeit, dies zu tun, ohne die Webserver anhalten zu müssen? Im Wesentlichen so ...

Setzen Sie 2 Webserver in den Wartungsmodus und leiten Sie den gesamten Datenverkehr an 1 Webserver um. Ich kann dann die Verbindungspooleinstellungen auf diesen beiden ändern. Ist es dann möglich, mit „FLUSH TABLES WITH READ LOCK“ einen MySQL-Dump durchzuführen und dann die Daten auf dem Semisync-Master wiederherzustellen. Wenn dies erledigt ist, aktiviere ich dann die 2 Tomcats (mit aktualisierten Verbindungspooleinstellungen), um den eingehenden Datenverkehr zu übernehmen?

Antwort1

Sie müssen keine MySQL-Replikation auf den verschiedenen Knoten einrichten und dann Ihre Daten migrieren. Percona hat ein großartiges Tool namensXtrabackupdie verwendet werden können, umEinrichten eines Slaves für die Replikationfast ohne Ausfallzeiten. Probieren Sie es aus.

verwandte Informationen