Heim >Datenbank >MySQL-Tutorial >Detaillierte Analyse der MySQL-Replikationsüberwachung und des automatischen Failovers

Detaillierte Analyse der MySQL-Replikationsüberwachung und des automatischen Failovers

黄舟
黄舟Original
2017-03-14 16:45:231547Durchsuche

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.

2. Installieren Sie MySQL Utilities und MySQL Connectors

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

3. Konfigurieren Sie die Replcation-Umgebung, eine Master- und zwei Slave-Umgebungen

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“.

4. Autorisieren Sie die Überwachungsmaschine

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

5. Ändern Sie die Konfigurationsdateien der Master- und Slave-Server und aktivieren Sie die Konfiguration

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.

6. Starten Sie das Überwachungsterminal

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn