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
Ich habe heute Nachmittag mit der Konfiguration v...
Im Laufe der Arbeit werden Sie auf viele Fälle im...
1. MySQL installieren (1) Entpacken Sie die herun...
Inhaltsverzeichnis Was ist JSI Was ist anders an ...
Ein WeakMap-Objekt ist eine Sammlung von Schlüsse...
Vorwort Bei der tatsächlichen Verwendung der Date...
Systemversion [root@ ~]# cat /etc/redhat-release ...
Voraussetzung: nginx muss über die Module ngx_htt...
Inhaltsverzeichnis 1. Überprüfen Sie die Anzahl d...
Manchmal ist das Eingabefeld klein und Sie möchte...
Vorwort Das Miniprogramm verfügt über eine sehr p...
Inhaltsverzeichnis MySQLs current_timestamp-Falle...
Die Erstellung des einfachsten „Hello World“-Ausg...
Vorwort: In MySQL sollte die Master-Slave-Archite...
Inhaltsverzeichnis 1. Nachfragehintergrund 2. Opt...