Sv translation | ||
---|---|---|
| ||
Guter Server ermitteln Zuerst muss entschieden werden, welcher der "guter" Server ist. Wenn HAPROXY im Betrieb ist, dann ist der guter Master der auf den die Daten derzeit geschrieben werden.
HAPROXY umstellen Falls es ein HAPROXY gibt, dann die Server auf der Kaputten Master Seite aus der Verteilung herausnehmen (auch den Slave auf dieser Seite).
Auf BEIDE Master Server STOP SLAVE;
Auf den KAPUTTEN Master Server eine Sicherung der guten Master DB anfertigen Vor Release 3.12: mysqldump -h<GOOD_MASTER> -uroot -p<PASSWORD> --single-transaction --master-data=2 --databases JTELWeb JTELStats JTELLog --add-drop-database --add-drop-table --events --routines --triggers > master.sql Ab Release 3.12 bitte folgenden Befehl nutzen: mysqldump -h<GOOD_MASTER> -uroot -p<PASSWORD> --single-transaction --master-data=2 --databases JTELWeb JTELStats JTELStats2 JTELLog --add-drop-database --add-drop-table --events --routines --triggers > master.sql
Auf den KAPUTTEN Master Server, den Slave resetten, und Sicherung einspielen RESET SLAVE; SOURCE master.sql;
Auf den KAPUTTEN Master Server aus den master.sql die Master Position ermitteln, und dann den Slave reinitialisieren CHANGE MASTER TO MASTER_HOST = '<GOOD_MASTER>', MASTER_USER = 'repl', MASTER_PASSWORD = '<PASSWORD>', MASTER_LOG_FILE='<NAME_LOGFILE>', MASTER_LOG_POS=<POSITION_LOGFILE>; START SLAVE;
Auf den KAPUTTEN Master Server den Slave Prüfen SHOW SLAVE STATUS\G Erst wenn alles OK, und die Replikation aktuell ist, dann weitermachen. Den Status kann man mit folgenden Befehl beobachten: watch 'mysql -u root -p<PASSWORD> -e "SHOW SLAVE STATUS\G" 2>/dev/null' Auf den KAPUTTEN Master Server alle Tabellen locken und Master Position notieren FLUSH TABLES WITH READ LOCK; SHOW MASTER STATUS; Die Positionen von SHOW MASTER STATUS werden im folgenden Kommando benötigt. Auf den GUTEN Master Server die Replikation neu positionieren und starten CHANGE MASTER TO MASTER_HOST = '<SECOND_MASTER>', MASTER_USER = 'repl', MASTER_PASSWORD = '<PASSWORD>', MASTER_LOG_FILE='<NAME_LOGFILE>', MASTER_LOG_POS=<POSITION_LOGFILE>; START SLAVE;
Auf den KAPUTTEN Master Server die Tabellen Locks aufheben UNLOCK TABLES;
Master und Slaves Prüfen Auf allen Servern nun SHOW SLAVE STATUS\G und prüfen dass alles richtig läuft Es ist normalerweise nicht nötig, die Slaves die an beide Master hängen ebenfalls zu wiederherstellen. Wenn doch, können diese mit der normalen Prozedur für das Wiederherstellen des Slaves neu initialisiert werden. |
Sv translation | ||
---|---|---|
| ||
Guter Server ermitteln Zuerst muss entschieden werden, welcher der "guter" Server ist. Wenn HAPROXY im Betrieb ist, dann ist der guter Master der auf den die Daten derzeit geschrieben werden. HAPROXY umstellen Falls es ein HAPROXY gibt, dann die Server auf der Kaputten Master Seite aus der Verteilung herausnehmen (auch den Slave auf dieser Seite). Auf BEIDE Master Server STOP SLAVE; Auf den KAPUTTEN Master Server eine Sicherung der guten Master DB anfertigen Vor Release 3.12: mysqldump -h<GOOD_MASTER> -uroot -p<PASSWORD> --single-transaction --master-data=2 --databases JTELWeb JTELStats JTELLog --add-drop-database --add-drop-table --events --routines --triggers > master.sql Ab Release 3.12 bitte folgenden Befehl nutzen: mysqldump -h<GOOD_MASTER> -uroot -p<PASSWORD> --single-transaction --master-data=2 --databases JTELWeb JTELStats JTELStats2 JTELLog --add-drop-database --add-drop-table --events --routines --triggers > master.sql
Auf den KAPUTTEN Master Server, den Slave resetten, und Sicherung einspielen RESET SLAVE; SOURCE master.sql; CHANGE MASTER TO MASTER_HOST = '<GOOD_MASTER>', MASTER_USER = 'repl', MASTER_PASSWORD = '<PASSWORD>', MASTER_LOG_FILE='<NAME_LOGFILE>', MASTER_LOG_POS=<POSITION_LOGFILE>; START SLAVE; Auf den KAPUTTEN Master Server den Slave Prüfen SHOW SLAVE STATUS\G
watch 'mysql -u root -p<PASSWORD> -e "SHOW SLAVE STATUS\G" 2>/dev/null' Auf den KAPUTTEN Master Server alle Tabellen locken und Master Position notieren FLUSH TABLES WITH READ LOCK; SHOW MASTER STATUS; Die Positionen von SHOW MASTER STATUS werden im folgenden Kommando benötigt. Auf den GUTEN Master Server die Replikation neu positionieren und starten CHANGE MASTER TO MASTER_HOST = '<SECOND_MASTER>', MASTER_USER = 'repl', MASTER_PASSWORD = '<PASSWORD>', MASTER_LOG_FILE='<NAME_LOGFILE>', MASTER_LOG_POS=<POSITION_LOGFILE>; START SLAVE; Auf den KAPUTTEN Master Server die Tabellen Locks aufheben UNLOCK TABLES; Master und Slaves Prüfen Auf allen Servern nun SHOW SLAVE STATUS\G und prüfen dass alles richtig läuft Es ist normalerweise nicht nötig, die Slaves die an beide Master hängen ebenfalls zu wiederherstellen. Wenn doch, können diese mit der normalen Prozedur für das Wiederherstellen des Slaves neu initialisiert werden. |