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
Ein Freund in der Gruppe hat zuvor eine Frage ges...
Erster Blick auf die Wirkung: Wenn die Maus über ...
Beim Starten von MongoDB lautet die Eingabeauffor...
Inhaltsverzeichnis Vorwort Installation und Konfi...
Dank unserer umfassenden CSS-Erfahrung als Webdesi...
Anwendung von HTML und CSS in Flash: Ich habe zufä...
1. Was ist MySQL Master-Slave-Synchronisierung? W...
Inhaltsverzeichnis Überblick Definieren von Metho...
Wenn eine Website im Breitbildformat ist, ziehen ...
【Frage】 Wenn die äußere und die innere Tabelle ve...
Es gibt zwei Möglichkeiten, mit Nginx mehrere Pro...
1. Download-Adresse: mysql-8.0.17-winx64 Herunter...
HTML-Ereignisliste Allgemeine Ereignisse: onClick ...
Inhaltsverzeichnis Funktionale Komponenten So sch...
Bei der Konfiguration von nginx.conf treten immer...