1. Einleitung Ich habe zuvor einen Artikel geschrieben: Das Prinzip der MySQL-Master-Slave-Synchronisierung. Ich glaube, dass jeder, der diesen Artikel gelesen hat, es kaum erwarten kann, es auszuprobieren, oder? Heute werden wir die MySQL-Master-Slave-Synchronisierung in der Praxis erleben! 2. Umgebungsbeschreibung Betriebssystem: Ubuntu 16.04 mysql:5.7.17 Die folgenden praktischen Übungen basieren alle auf der oben genannten Umgebung. Natürlich ist es in anderen Umgebungen ähnlich. 3. Eintritt in den eigentlichen Kampf Werkzeug 2 Maschinen: Master-IP:192.168.33.22 Slave-IP:192.168.33.33 Operationen auf dem Mastercomputer 1. Ändern Sie die Konfigurationsdatei Wir finden die Datei Die Konfiguration ist wie folgt: Bind-Adresse = 192.168.33.22 #Ihre Master-IP Server-ID = 1 #In der Master-Slave-Architektur muss jeder Maschinenknoten eine eindeutige Server-ID haben log_bin = /var/log/mysql/mysql-bin.log #Binlog öffnen 2. Starten Sie MySQL neu, damit die Konfigurationsdatei wirksam wird. sudo systemctl MySQL neu starten 3. Erstellen Sie einen MySQL-Benutzer für die Master-Slave-Synchronisierung. $ mysql -u root -p Passwort: ##Erstellen Sie den Benutzer „slave1“ und geben Sie an, dass sich der Benutzer nur beim Host 192.168.33.33 anmelden kann. mysql> ERSTELLEN SIE BENUTZER 'slave1'@'192.168.33.33' IDENTIFIZIERT DURCH 'slavepass'; Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) ##Geben Sie Slave1 die Berechtigung REPLICATION SLAVE. mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave1'@'192.168.33.33'; Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) 4. Fügen Sie MySQL eine Lesesperre hinzu Um die Daten der Master-Datenbank mit denen der Slave-Datenbank konsistent zu halten, fügen wir MySQL zunächst eine Lesesperre hinzu, um es schreibgeschützt zu machen. mysql> TABELLEN MIT LESESPERRUNG LESEN; Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) 5. Notieren Sie den Speicherort des MASTER REPLICATION LOG Diese Informationen werden später verwendet. mysql> MASTER-STATUS ANZEIGEN; +------------------+----------+--------------+------------------+-------------------+ | Datei | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +------------------+----------+--------------+------------------+-------------------+ | mysql-bin.000001 | 613 | | | | +------------------+----------+--------------+------------------+-------------------+ 1 Zeile im Satz (0,00 Sek.) 6. Exportieren Sie die vorhandenen Dateninformationen in die Master-DB $ mysqldump -u root -p --all-databases --master-data > dbdump.sql 7. Zugriff auf die Lesesperre der Master-DB mysql> TABELLEN ENTSPERREN; 8. Kopieren Sie die Datei dbdump.sql aus Schritt 6 auf den Slave scp dbdump.sql [email protected]:/home/ubuntu Operationen auf der Slave-Maschine 1. Ändern Sie die Konfigurationsdatei Wir finden die Datei Ändern Sie die Konfiguration wie folgt: Bind-Adresse = 192.168.33.33 #Ihre Slave-IP server-id = 2 #Eindeutige Server-ID in der Master-Slave-Struktur log_bin = /var/log/mysql/mysql-bin.log #Binlog öffnen 2. Starten Sie MySQL neu, damit die Konfigurationsdatei wirksam wird sudo systemctl MySQL neu starten 3. Aus der Master-Datenbank importieren. Exportieren Sie die Datei dbdump.sql, um Master-Slave-Daten konsistent zu machen $ mysql -u root -p < /home/ubuntu/dbdump.sql 4. Stellen Sie zur Synchronisierung eine Verbindung zwischen Slave und Master her $ mysql -u root -p Passwort: mysql> SLAVE STOPPEN; Abfrage OK, 0 Zeilen betroffen, 1 Warnung (0,00 Sek.) mysql> ÄNDERN SIE MASTER IN -> MASTER_HOST='192.168.33.22', -> MASTER_USER='slave1', -> MASTER_PASSWORD='Slavepass', -> MASTER_LOG_FILE='mysql-bin.000001', -> MASTER_LOG_POS=613; Abfrage OK, 0 Zeilen betroffen, 2 Warnungen (0,01 Sek.) mysql> START SLAVE; Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) Die Werte von MASTER_LOG_FILE='mysql-bin.000001' und MASTER_LOG_POS=613 werden aus dem obigen SHOW MASTER STATUS abgerufen. Nach dieser Einstellung können Sie eine Master-Slave-Synchronisation durchführen~ Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: Verwendung der hasOwnProperty-Methode des js-Attributobjekts
>>: JavaScript-Code zur Implementierung der Weibo-Batch-Unfollow-Funktion
<br />Mit der zunehmenden Bandbreite werden ...
1.Dies deutet auf 1. Wer ruft wen an? Beispiel: F...
1. Problem Das mit Eclipse unter Windows entwicke...
Unter Linux treten häufig Situationen auf, in den...
Inhaltsverzeichnis Probleme mit der Ressourcenver...
Hintergrund Grundlegende Konzepte CSS filter wend...
Aktuelle Uhrzeit abrufen: Wählen Sie aktuellen Ze...
Vor einigen Tagen teilte die Bibliothek mit, dass...
1. Als ich heute eine Seite erstellte, stieß ich a...
Das Textfeld mit dem ReadOnly-Attribut wird auf de...
Der Redakteur wollte vor Kurzem mit dem macOS-Sys...
Sehen wir uns zunächst ein Beispiel für die Speic...
In diesem Blog führe ich Sie in einfachen Schritt...
In diesem Artikel wird hauptsächlich erläutert, w...
1.1 Kopieren Sie das Nginx-Installationspaket und...