Heim >Datenbank >MySQL-Tutorial >Detaillierte Analyse der MySQL-Replikationsüberwachung und des automatischen Failovers
1. Serverplanung
Master:192.168.0.152
Slave: 192.168.0.153 192.168.0.154
Überwachungsserver: 192.168.0.154
Hinweis: Stimmt In der Produktionsumgebung ist es am besten, einen separaten Server zur Überwachung der Datenbankreplikation zu haben. Hier verwende ich direkt einen Salve-Server als Überwachungsserver.
Laden Sie MySQL Utilities und MySQL Connectors herunter und installieren Sie
unter 192.168.0.154 (Überwachungsserver) Führen Sie die folgenden Befehle auf dem Server aus, um die heruntergeladenen MySQL-Dienstprogramme und MySQL-Konnektoren zu installieren
yum install mysql-connector-python-2.1.4-1.el6.x86_64.rpm mysql-utilities-1.6.4-1.el6.noarch.rpm
Master: 192.168.0.152
Slave: 192.168.0.153 192.168.0.154
Überwachungsserver: 192.168.0.154
Bitte beachten Sie den Blog-Beitrag „MySQL – MS-Master-Slave-Replikation (Lese-Schreib-Trennung) Implementierung“ und „ MySQL“ zum Konfigurieren der Replikation. ——MSS-Master-Slave-Replikationsimplementierung (Lese-/Schreibtrennung)》
, „MySQL – Vier Schritte zum Upgrade der BinLog-Replikation auf GTIDs-Replikation“.
auf den Servern 192.168.0.152, 192.168.0.153 und 192.168.0.154:
mysql>grant create,insert ,drop, select, super, replication slave, reload on *.* to 'replm'@'192.168.0.154' identified by password 'replm' with grant option;
auf 192.168.152, 192.168.0.153 und 192.168.0.154 führen jeweils
mysql>show grants for replm@192.168.0.154;
aus, um zu überprüfen, ob die Autorisierung erfolgreich ist.
Hinweis: Wenn ein separater Server die Replikation überwacht, werden Autorisierungsvorgänge nur auf den an der Replikation beteiligten Master- und Slave-Servern durchgeführt. Die Autorisierungsziel-IP ist die IP des Überwachungsservers
Das Folgende ist die Kernkonfiguration in der Datei my.cnf bei der Konfiguration der Replikationsüberwachung und Failover
[mysqld] log-bin=/data/mysql3306log/mysql-bin binlog-format=mixed server-id = 001 sync_binlog=1 gtid-mode=on enforce-gtid-consistency log-slave-updates report-host=192.168.0.154 master-info-repository=TABLE relay-log-info-repository=TABLE
Nachdem Sie die Konfiguration geändert haben, starten Sie den MySQL-Server neu. Anschließend speichert der MySQL-Server die beiden im Binärprotokoll gespeicherten Dateien master.info und Relay-log.info in der Datenbank Führen Sie die Ausführung mit mysql;show tables aus. Sie werden feststellen, dass zwei Tabellen, Slave_master_info und Slave_relay_log_info, neu in der MySQL-Datenbank erstellt wurden.
Ausführen auf 192.168.0.154 (Überwachungsserver)
#mysqlfailover --master=replm:replm@192.168.0.152 --discover-slaves-login=replm:replm
An diesem Punkt haben wir die Replikation konfiguriert Überwachung und automatische Failover-Funktion.
Hinweis: Wenn der Master-Server auflegt, wählt mysqlfailover automatisch einen der Slave-Server als Master aus und andere Slaves entsprechen dem neuen Master-Server.
Hinweis: Wenn der Master auflegt, wählt mysqlfailover automatisch einen Server unter anderen Slaves als Master aus. Wenn wir den ursprünglichen Master-Server manuell neu starten, kann mysqlfailover zu diesem Zeitpunkt nicht automatisch feststellen, dass der ursprüngliche blockierte MySQL-Server neu gestartet wurde. Wir müssen den ursprünglich hängen gebliebenen MySQL-Server manuell neu starten und ihn als Slave-Server zur Replikation hinzufügen.
Das obige ist der detaillierte Inhalt vonDetaillierte Analyse der MySQL-Replikationsüberwachung und des automatischen Failovers. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!