Detaillierte Erläuterung der Implementierungsschritte von MySQL Dual-Machine Hot Standby und Load Balancing

Detaillierte Erläuterung der Implementierungsschritte von MySQL Dual-Machine Hot Standby und Load Balancing

Die MySQL-Datenbank verfügt nicht über einen inkrementellen Sicherungsmechanismus, bietet jedoch einen Master-Slave-Sicherungsmechanismus, bei dem alle Daten in der Masterdatenbank gleichzeitig in die Sicherungsdatenbank geschrieben werden. Implementieren Sie ein Hot Backup der MySQL-Datenbank.

Im Folgenden sind die spezifischen Schritte für das Master-Slave-Hot-Backup aufgeführt:

Angenommen, der Master-Server ist A (Master) und der Slave-Server ist B (Slave).

Eine: 192.168.0.104

B: 192.168.0.169

1. Master-Server-Autorisierung

Der autorisierte Sekundärserver kann sich mit dem Primärserver verbinden und Updates durchführen. Dies erfolgt auf dem primären Server, indem ein Benutzername und ein Kennwort für den Zugriff auf den sekundären Server erstellt werden. Sie können auch das Standardkonto und das Standardkennwort des primären Servers verwenden.

2. Datenreplikation

Kopieren Sie die vorhandenen Daten auf dem Master auf den Slave, damit die Daten in den beiden Datenbanken konsistent bleiben, wenn die Master-Slave-Datenbank eingerichtet wird. Das Exportieren und Importieren von Datenbanken wird nicht im Detail beschrieben.

3. Konfigurieren Sie den Masterserver

Ändern Sie die Konfigurationsdatei my.ini im Stammverzeichnis von mysql auf dem Master

Weisen Sie dem Masterserver in der Optionskonfigurationsdatei eine Server-ID zu. Die ID muss ein eindeutiger Wert im Bereich von 1 bis 2^23-1 sein. Die Server-IDs des Primärservers und des Sekundärservers dürfen nicht identisch sein. Darüber hinaus müssen Sie den Masterserver so konfigurieren, dass die binäre Protokollierung aktiviert wird. Fügen Sie dazu in der Optionskonfigurationsdatei die Startoption „log-bin“ hinzu.

Hinweis: Wenn das Binärprotokoll des Masterservers aktiviert ist, sollte vor dem Herunterfahren und Neustarten das vorherige Binärprotokoll gesichert werden. Nach dem Neustart sollte das vorherige Protokoll mit der Anweisung RESET MASTER gelöscht werden.

Grund: Alle Vorgänge in der Cartrader-Datenbank auf dem Master werden in der Protokolldatei aufgezeichnet und das Protokoll dann an den Slave gesendet. Nach Erhalt der Protokolldatei vom Master führt der Slave die entsprechenden Vorgänge aus, sodass die Datenbank im Slave dieselben Vorgänge ausführt wie die Master-Datenbank. Um die Datenkonsistenz aufrechtzuerhalten, muss daher sichergestellt werden, dass die Protokolldatei keine fehlerhaften Daten enthält.

4. Starten Sie den Master neu

Starten Sie den MySQL-Dienst nach der Konfiguration der oben genannten Optionen neu und die neuen Optionen werden wirksam. Jetzt werden alle Aktualisierungen der Informationen in der Datenbank in das Protokoll geschrieben.

5. Konfigurieren von Slaves

Fügen Sie der MySQL-Optionskonfigurationsdatei auf dem Slave-Server die folgenden Parameter hinzu:

[mysqld]
#Eindeutig und verschieden von der Server-ID auf dem primären Server.
Server-ID = 2
#Hostname oder IP-Adresse des primären Servers
Master-Host = 192.168.0.104
#Wenn der Master-Server nicht auf dem Standard-Port lauscht, müssen Sie die Master-Port-Option bestimmen
Master-Port = 3306
#Der in Schritt 2.1 erstellte Benutzername und das Passwort
Master-Benutzer=Root
Master-Passwort=123456
#Die Datenbank, auf die der Kopiervorgang angewendet werden soll (optional, standardmäßig alle)
replizieren-do-db=Autohändler
#Wenn die Verbindung zwischen dem primären und sekundären Server häufig fehlschlägt, müssen Sie den Master-Retry-Count und den Master-Connect-Retry erhöhen
#master-retry-count Die Anzahl der Verbindungsversuche
#master-connect-retry Die Anzahl der Sekunden, die nach einem Verbindungsfehler gewartet werden soll
Master-Wiederholungsanzahl = 999
Master-Verbindungswiederholung = 60

5. Starten Sie den Slave neu

Nach dem Neustart des MySQL-Dienstes auf dem sekundären Server wird im Datenverzeichnis eine Datei master.info erstellt, die Folgendes enthält:

Alle Informationen zum Replikationsprozess (Informationen zur Verbindung mit dem Masterserver und zum Datenaustausch mit dem Masterserver). Nach dem ersten Start überprüft der Slave-Server die Datei master.info, um relevante Informationen zu erhalten.

Wenn Sie die Replikationsoptionen ändern möchten, löschen Sie master.info und starten Sie den MySQL-Dienst neu. Die Datei master.info wird während des Startvorgangs mit den neuen Optionen in der Optionskonfigurationsdatei neu erstellt.

Importieren Sie die auf dem primären Server gesicherte Datenbankskriptdatei (cartrader.sql) in die Datenbank des sekundären Servers, um

Stellen Sie sicher, dass die Ausgangspunkte für Replikationsvorgänge auf dem primären und dem sekundären Server identisch sind.

6. Überprüfen Sie, ob der Status des Masters mit den Einstellungen übereinstimmt

7. Slave anzeigen

Im Allgemeinen wird die Replikationsfunktion nach dem Neustart des Slaves automatisch aktiviert, was durch die folgende Anweisung angezeigt werden kann

Auf dem Sklaven

mysql>show slave status

Wenn angezeigt wird, dass „Warten auf Senden des Ereignisses durch den Master“ ist, bedeutet dies, dass es gestartet wurde. Andernfalls läuft es.

mysql>start slave

So starten Sie den Slave

Nach der Ausgabe des Befehls SHOW SLAVE STATUS sollte der entsprechende Wert für Slave_IO_Running „YES“ sein.

Der entsprechende Wert von Slave_SQL_Running ist JA. Nur so können die Master- und Slave-Funktionen normal gesichert werden.

Der Befehl zum vorübergehenden Stoppen des Master-Slave-Hot-Backups lautet:

mysql>stop slave

Zusammenfassen

Oben sind die vom Herausgeber vorgestellten Implementierungsschritte für MySQL Dual-Machine Hot Standby und Load Balancing. Ich hoffe, dass sie für alle hilfreich sind. 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:
  • Vorgehensweise bei der Verwendung der MySQL-Systemdatenbank zur Diagnose der Leistungsbelastung
  • So implementieren Sie Lastenausgleich in MySQL
  • So verwenden Sie Nginx als Load Balancer für MySQL
  • Implementierung der Lese-/Schreibtrennung und des Lastenausgleichs von MySQL basierend auf OneProxy
  • Erstellen Sie einen stabilen und hochverfügbaren Cluster basierend auf MySQL + MyCat, Lastausgleich, Master-Slave-Replikation und Lese-/Schreibtrennung
  • Python implementiert die Lese-/Schreibtrennung und den Lastenausgleich von MySQL
  • Keepalived+HAProxy zur Implementierung einer MySQL-Konfiguration für den hochverfügbaren Lastenausgleich
  • Analysieren Sie den durch Indizes in MySQL verursachten CPU-Lastanstieg
  • So erhöhen Sie schnell die Ladekapazität von MySQL-Datenbankverbindungen
  • Bereitstellung und Implementierung eines MySQL-Serverclusters mit Lastausgleichsfunktion
  • Beheben von Problemen mit hoher MySQL-CPU-Auslastung

<<:  Installation und Verwendung des Linux-Betriebs- und Wartungstools Supervisor (Prozessmanagement-Tool)

>>:  Transkript der Implementierung berechneter Vue-Eigenschaften

Artikel empfehlen

CSS3 erzielt einen coolen 3D-Rotationsperspektiveneffekt

CSS3 erreicht coole 3D-Rotationsperspektive 3D-An...

MySQL-Abfrage-Cache und Pufferpool

1. Caches - Abfrage-Cache Die folgende Abbildung ...

So implementieren Sie ein responsives Layout in Vue-CLI

Wenn wir Frontend-Entwicklung betreiben, werden w...

Detaillierte Erklärung der schmerzlosen Token-Aktualisierungsmethode von Uniapp

Wenn das Front-End die Schnittstelle anfordert, w...

Eine kurze Einführung in die Gesamtstruktur von Tomcat

Tomcat ist weithin als Webcontainer bekannt. Es h...

Verwendung des Linux-Befehls usermod

1. Befehlseinführung Der Befehl usermod (user mod...

jQuery-Plugin zur Implementierung des Minesweeper-Spiels (2)

In diesem Artikel wird der zweite Artikel zur Ver...

So verwenden Sie griechische Buchstaben in HTML-Seiten

Griechische Buchstaben sind eine sehr häufig verw...