So konfigurieren Sie die MySQL Master-Slave-Replikation unter Windows

So konfigurieren Sie die MySQL Master-Slave-Replikation unter Windows

Die MySQL Master-Slave-Replikation ermöglicht die Replikation von Daten aus einer Datenbank (der Masterdatenbank) in eine oder mehrere Datenbanken (die Slavedatenbanken).
Die Masterdatenbank wird im Allgemeinen für Schreib- und Aktualisierungsvorgänge von Geschäftsdaten in Echtzeit verwendet, während die Slavedatenbank hauptsächlich zum Lesen verwendet wird.

Master-Slave-Replikationsprozess:

1. Jede Änderung auf dem Master-Server wird über seinen eigenen I/O-Thread (E/A-Thread) im Binärprotokoll gespeichert.
2. Auf dem Slave-Server wird außerdem ein I/O-Thread gestartet. Er stellt mit dem konfigurierten Benutzernamen und Passwort eine Verbindung zum Master-Server her, um das Lesen des Binärprotokolls anzufordern, und schreibt das gelesene Binärprotokoll anschließend in ein lokales Realy-Protokoll.
3. Starten Sie einen SQL-Thread auf dem Server, um das Realy-Protokoll regelmäßig zu überprüfen (diese Datei ist ebenfalls binär). Wenn ein Update gefunden wird, führen Sie den aktualisierten Inhalt sofort in der lokalen Datenbank aus.

Die Umgebung ist wie folgt:
Primäre Datenbank: MySQL Version 5.7, IP ist 192.168.1.11
Slave-Datenbank: MySQL Version 5.7, IP ist 192.168.1.12

1. Konfiguration der Master-Datenbank

1. Erstellen Sie eine neue Testdatenbank mit dem Namen testdb.

2. Öffnen Sie my.ini und fügen Sie die Konfiguration hinzu

# Master-Slave-Replikation Server-ID = 1 # Server-ID festlegen
log-bin=mysql-bin #Binärdatei öffnen #Datenbank synchronisieren, aber keine anderen Datenbanken synchronisieren (wählen Sie unten eine der Optionen „binlog-ignore-db“ aus)
binlog_do_db=Testdb 
#Datenbank nicht synchronisieren, alles andere synchronisieren #binlog-ignore-db = information_schema 
#binlog-ignore-db = MySQL

3. Starten Sie den MySQL-Dienst neu

4. Erstellen Sie ein Benutzerkonto für die Synchronisierung (1) Öffnen Sie als Administrator ein cmd-Fenster, führen Sie mysql -uroot -p aus, geben Sie das Kennwort ein (wenn es leer ist, drücken Sie die Eingabetaste) und melden Sie sich an.
(2) Führen Sie die folgenden drei Befehle nacheinander aus, um einen Benutzer zu erstellen (Benutzername MySlave, Kennwort 123456) und die Berechtigungen zu aktualisieren

ERSTELLEN SIE BENUTZER 'MySlave'@'192.168.1.12' IDENTIFIZIERT DURCH '123456';
GRANT REPLICATION SLAVE ON *.* TO 'MeinSlave'@'192.168.1.12';
FLUSH-PRIVILEGIEN;

5. Überprüfen Sie den Master-Status und notieren Sie den Namen und Speicherort der Binärdatei

Masterstatus anzeigen;

Die Binärdatei ist mysql-bin.000005 und die Position ist 154

2. Konfigurieren aus der Datenbank

1. Erstellen Sie eine neue Testdatenbank mit dem Namen testdb.

2. Überprüfen Sie, ob sich das Synchronisierungskonto anmelden kann. Öffnen Sie Navicat für MySQL, erstellen Sie einen neuen Link, geben Sie IP 192.168.1.11, Benutzernamen MySlave, Passwort 123456 ein und klicken Sie auf „Verbindungstest“, um zu überprüfen, ob eine Verbindung hergestellt werden kann.

3. Öffnen Sie my.ini und fügen Sie die Konfiguration hinzu

server-id=2 #Server-ID festlegen
log-bin=mysql-bin #Binärdatei öffnen

4. Starten Sie den MySQL-Dienst neu

5. Melden Sie sich über die cmd-Befehlszeile bei der MySQL-Datenbank an und führen Sie den folgenden Befehl zur manuellen Synchronisierung aus

mysql > ÄNDERN SIE MASTER IN MASTER_HOST='192.168.1.11',MASTER_PORT=3306,MASTER_USER='MySlave',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin.000005',MASTER_LOG_POS=154;

6. Starten Sie den Salve-Synchronisierungsprozess

mysql> Slave starten;

7. Überprüfen Sie den Slave-Status

Befehl ausführen: Slave-Status anzeigen\G;

Wenn Slave_IO_Running: Yes und Slave_SQL_Running: Yes, bedeutet dies, dass die beiden Threads gestartet wurden und die Master-Slave-Replikationskonfiguration erfolgreich war.

8. Testen Sie, indem Sie eine neue Tabelle in der Masterdatenbank erstellen und die Slavedatenbank aktualisieren, um die Tabelle anzuzeigen.

Bemerkung:

Wenn sich vor der Durchführung der Master-Slave-Replikation der Datenbank Tabellen und Daten in der Masterdatenbank befinden, werden diese Daten nicht synchronisiert und müssen manuell exportiert und in die Slavedatenbank importiert werden.

Oben finden Sie detaillierte Informationen zur Konfigurationsmethode der MySQL-Master-Slave-Replikation unter Windows. Weitere Informationen zur MySQL-Master-Slave-Replikation finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • MySQL-Datenbank GTID realisiert Master-Slave-Replikation (super praktisch)
  • Implementierungsprinzip und Konfiguration der MySql Master-Slave-Replikation
  • So überspringen Sie Fehler bei der MySQL-Master-Slave-Replikation
  • Ursachen und Lösungen für Verzögerungen bei der MySQL Master-Slave-Replikation
  • Detaillierte Erläuterung der Prinzipien und der Verwendung der MySQL-Master-Slave-Replikation und der Lese-/Schreibtrennung
  • So implementieren Sie eine MySQL-Master-Slave-Replikation basierend auf Docker
  • Detaillierte Erläuterung der Rolle und des Funktionsprinzips der MySQL-Master-Slave-Replikation
  • Wie erreicht MySQL eine Master-Slave-Synchronisierung?

<<:  Eine vollständige Anleitung zu CSS-Stilattributen css() und width() in jQuery

>>:  So konfigurieren Sie die maximale Anzahl von Dateien, die von jedem Nginx-Prozess geöffnet werden können

Artikel empfehlen

So löschen Sie zusätzliche Kernel in Ubuntu

Schritt 1: Den aktuellen Kernel anzeigen rew $ un...

Tiefes Verständnis der Verwendung von ::before/:before und ::after/:after

Teil 1: Grundlagen 1. Im Gegensatz zu Pseudoklass...

Unterschied zwischen HTML ReadOnly und Enabled

Das Textfeld mit dem ReadOnly-Attribut wird auf de...

Verwenden von Schleifen in awk

Lernen wir verschiedene Arten von Schleifen kenne...

Detaillierte Erklärung dieser Zeigerfunktion in JS

Die Pfeilfunktion ist eine neue Funktion in ES6. ...

Lösen Sie das Problem des IDEA-Konfigurations-Tomcat-Startfehlers

Beim Konfigurieren unterschiedlicher Servlet-Pfad...

Spezifische Verwendung von MySQL-Fensterfunktionen

Inhaltsverzeichnis 1. Was ist eine Fensterfunktio...

Beim Bereitstellen von rabbitmq mit Docker sind zwei Probleme aufgetreten

1. Hintergrund Die folgenden zwei Probleme treten...

Ein Artikel, der Ihnen hilft, jQuery-Animationen zu verstehen

Inhaltsverzeichnis 1. Steuern Sie die Anzeige und...

Detaillierte Erläuterung des Installationsprozesses von Jenkins auf CentOS 7

Installieren Sie Jenkins über Yum 1. Installation...

So fügen Sie einen Docker-Port hinzu und erhalten eine Docker-Datei

Holen Sie sich das Dockerfile aus dem Docker-Imag...

Vue echarts realisiert horizontales Balkendiagramm

In diesem Artikel wird der spezifische Code von V...