MySQL Dual-Machine Hot-Standby-Implementierungslösung [testbar]

MySQL Dual-Machine Hot-Standby-Implementierungslösung [testbar]

1. Konzept

1. Der Unterschied zwischen Hot Backup und Backup

Hot Backup steht für: High Available (HA), während Backup sich auf Backup bezieht, eine Art der Datensicherung. Dabei handelt es sich um zwei unterschiedliche Konzepte und auch die dazugehörigen Produkte sind hinsichtlich ihrer Funktionen zwei völlig unterschiedliche Produkte. Hot Backup stellt in erster Linie die Geschäftskontinuität sicher und die Implementierungsmethode besteht in der Übertragung des Fehlerpunkts. Der Hauptzweck einer Datensicherung besteht darin, durch die Erstellung einer Kopie einen Datenverlust zu verhindern. Daher liegt beim Backup der Schwerpunkt eher auf der Datenwiederherstellung als auf einem Anwendungsfailover.

2. Was ist Hot-Standby?

Im weiteren Sinne bedeutet Hot-Standby, dass sich zwei Server gegenseitig sichern und für wichtige Dienste gemeinsam den gleichen Dienst ausführen. Bei einem Serverausfall kann ein anderer Server die Serviceaufgabe übernehmen und so automatisch sicherstellen, dass das System seine Dienste weiterhin bereitstellen kann, ohne dass ein menschliches Eingreifen erforderlich ist.

Im engeren Sinne ist Hot-Standby die Verwendung von zwei Servern, die sich gegenseitig sichern und gemeinsam denselben Dienst ausführen, wobei einer der Arbeitsserver (Primärserver) und der andere der Sicherungsserver (Standbyserver) ist. Wenn das System normal läuft, stellt die Arbeitsmaschine Dienste für das Anwendungssystem bereit, und die Backup-Maschine überwacht den Betrieb der Arbeitsmaschine (normalerweise durch Heartbeat-Diagnose, und die Arbeitsmaschine erkennt auch, ob die Backup-Maschine normal läuft). Wenn die Arbeitsmaschine abnormal wird und den Betrieb des Anwendungssystems nicht unterstützen kann, übernimmt die Backup-Maschine aktiv die Arbeit der Arbeitsmaschine und unterstützt weiterhin wichtige Anwendungsdienste, um einen unterbrechungsfreien Betrieb des Systems sicherzustellen. Hot-Standby ist eine Hochverfügbarkeitslösung für Ausfälle von IT-Kernservern, Speichern und Netzwerk-Routing-Switches.

2. Umgebungsbeschreibung

1. Meister

System: Windows 7

Datenbank: mysql5.5

IP-Adresse: 192.168.0.123

2. Sklave

System: Windows 7

Datenbank: mysql5.5

IP:192.168.0.105

(Hinweis: Die Version des Masterservers kann nicht höher sein als die des Slaveservers und die beiden Server müssen sich im selben LAN befinden.)

3. Master-Slave-Hot-Standby-Implementierung

1. Kontovorbereitung

① Erstellen Sie auf dem Masterserver ein Verbindungskonto für den Slaveserver. Dem Konto müssen REPLICATION SLAVE-Berechtigungen erteilt werden. Rufen Sie die MySQL-Bedienoberfläche auf und geben Sie das folgende SQL ein:

Gewähren Sie Replikations-Slave auf *.* für „Replikation“@„192.168.0.105“, identifiziert durch „123456“.
Berechtigungen leeren;

Die Funktionsweise ist wie in der Abbildung dargestellt:

②Überprüfen Sie das Verbindungskonto

Verwenden Sie das Replikatkonto auf dem Slave-Server, um auf die Datenbank des Master-Servers zuzugreifen und zu sehen, ob die Verbindung erfolgreich ist.

Öffnen Sie vom Server aus eine Eingabeaufforderung und geben Sie den folgenden Befehl ein:

mysql -h192.168.0.123 -ureplicate -p123456

Wenn das folgende Ergebnis angezeigt wird, bedeutet dies, dass die Anmeldung erfolgreich war, was bedeutet, dass die beiden Server im Dual-Machine-Hot-Standby betrieben werden können.

2. Master-Konfiguration

①Ändern Sie die MySQL-Konfigurationsdatei. Nachdem Sie die Konfigurationsdatei my.ini gefunden und geöffnet haben, ändern Sie sie unter [mysqld]:

[mysqld]

Server-ID = 123 #Master-ID, darf nicht mit der Slave-ID identisch sein

log-bin = mysql-bin#Legen Sie den generierten Protokolldateinamen fest

binlog-do-db = test_db #Legen Sie den Namen der Synchronisierungsdatenbank fest

replicate-do-db=test_db # Datenbanknamen vom Server synchronisieren

binlog-ignore-db = mysql#Synchronisierung der MySQL-Benutzerkonfiguration vermeiden

②Starten Sie den MySQL-Dienst neu

Öffnen Sie die Eingabeaufforderung und geben Sie die folgenden beiden Befehle ein, um den Neustart abzuschließen:

Netzstopp MySQL
net start mysql

③ Überprüfen Sie den Status des Masterservers

Masterstatus anzeigen;

④ Tabelle sperren

Der Zweck besteht darin, zu verhindern, dass neue Daten in die Umgebung gelangen, damit der Slave-Server die Synchronisierungsposition lokalisieren kann. Denken Sie nach Abschluss der ersten Synchronisierung daran, das Gerät zu entsperren.

Tabellen mit Lesesperre leeren;

Die Schritte ③④ sind wie folgt:

3. Slave-Konfiguration

①Ändern Sie die Konfigurationsdatei my.ini

log-bin = mysql-bin #Legen Sie den generierten Protokolldateinamen fest
server-id=105# Slave-ID, darf nicht mit der Master-ID identisch sein
binlog-do-db=test_db #Legen Sie den Namen der Synchronisierungsdatenbank fest
binlog-ignore-db=mysql #Synchronisierung der MySQL-Benutzerkonfiguration vermeiden
replicate-do-db=test_db# Datenbanknamen vom Server synchronisieren
replicate-ignore-db = mysql, Informationsschema, Leistungsschema

②Starten Sie den MySQL-Dienst neu

③Verwenden Sie die Change-Master-Anweisung, um die Synchronisationsposition anzugeben

Geben Sie nach dem Aufrufen der MySQL-Bedienoberfläche den folgenden Befehl ein:

Sklave stoppen;
Slave zurücksetzen;
ändere Master in master_host='192.168.0.123',master_user='replicate',master_password='123456',master_log_file='mysql-bin.000124',master_log_pos=107;
Slave starten;

Hinweis: Die Master-Logdatei und Master-Logposition müssen hier mit den vorherigen Ergebnissen der Abfrage „Show Master Status“ übereinstimmen.

Die Funktionsweise ist wie in der Abbildung dargestellt:

4. Entsperren Sie die Mastertabelle

unlock tables;

An diesem Punkt ist der Master-Slave-Hot-Standby abgeschlossen und kann getestet werden.

Zusammenfassen

Oben ist die vom Herausgeber vorgestellte MySQL-Hot-Standby-Implementierungslösung für zwei Maschinen. Ich hoffe, sie ist für alle hilfreich. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Herausgeber wird Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!
Wenn Sie diesen Artikel hilfreich finden, können Sie ihn gerne abdrucken und dabei bitte die Quelle angeben. Vielen Dank!

Das könnte Sie auch interessieren:
  • Zwei Möglichkeiten zur manuellen Implementierung des MySQL-Hot-Standby mit zwei Maschinen auf dem Alibaba Cloud Server
  • Analyse der Schwierigkeiten im Hot-Standby der MySQL-Datenbank
  • Konfigurationsmethode für den Hot-Standby-Betrieb mit MySQL-Datenbank auf zwei Maschinen
  • Implementierungsschritte für MySQL-Hot-Backup auf zwei Maschinen

<<:  So verwenden Sie den Linux-Befehl tr

>>:  Implementierung eines einfachen Timers basierend auf der Vue-Methode

Artikel empfehlen

WeChat-Applet implementiert Formularüberprüfung

Validierung des WeChat-Applets-Formulars. Zu Ihre...

So migrieren Sie den MySQL-Speicherort auf eine neue Festplatte

1. Bereiten Sie eine neue Festplatte vor und form...

Semantik, Schreiben und bewährte Methoden für Link A

Die Semantik, der Schreibstil und die Best Practi...

Analyse der zum Ausführen von Docker erforderlichen Berechtigungen

Zum Ausführen von Docker sind Root-Rechte erforde...

HTML-Tutorial: Titelattribut und Alt-Attribut

XHTML ist die Grundlage des CSS-Layouts. jb51.net...

Erstellen Sie mit Flutter eine verschiebbare Stapel-Widget-Funktion

Dieser Beitrag konzentriert sich auf ein streng g...

Detaillierte Erklärung der MySQL-Berechtigungen und -Indizes

MySQL-Berechtigungen und Indizes Der höchste Benu...

Ubuntu 16.04 mysql5.7.17 öffnet Remote-Port 3306

Aktivieren Sie den Remotezugriff auf MySQL MySQL-...