So richten Sie die Replikation von MySQL Master-Master ein

So richten Sie die Replikation von MySQL Master-Master ein

MySQL Master-Slave Replication besteht darin, den Slave-Server so zu aktualisieren, sobald Änderungen im Master Server vorgenommen werden. Aber es wird den Master nicht aktualisieren, wenn Änderungen am Slave -Server vorgenommen werden. Lesen Sie diesen Artikel, um die Master-Sklaven-Replikation einzurichten.

Dieser Artikel hilft Ihnen dabei, die Master-Master-Replikation zwischen MySQL-Servern einzurichten. In diesem Setup, wenn Änderungen auf beiden Server vorgenommen werden, aktualisieren Sie einen anderen.

Setup -Details:
Master-1: 192.168.1.15 Master-2: 192.168.1.16 Datenbank: mydb 

Wenn Sie unterschiedliche Versionen von MySQL auf beiden Servern verwenden, verwenden Sie diesen Link, um die Kompatibilität zu überprüfen.

Schritt 1. Richten Sie MySQL Master-1 Server ein

  • Bearbeiten Sie die MySQL -Konfigurationsdatei und fügen Sie die folgenden Zeilen im Abschnitt [MySQLD] hinzu.
  • # vim /etc /mein.CNF 
    [MySQLD] log-bin-= mySQL-bin-Binlog-do-db = mydb server-id = 1 
  • Starten Sie den MySQL -Server neu, um Änderungen zu wirken.
  • # Service MySQLD Neustart 
  • Erstellen.
  • MySQL> Zuschussreplikation Sklave auf *.* Zu 'repl_user'@'%' identifiziert durch 'SecretPassword'; MySQL> Flush -Privilegien; 
  • Block -Schreibanweisung zu allen Tabellen, sodass nach der Sicherung keine Änderungen vorgenommen werden können.
  • MySQL> Verwenden Sie MyDB; MySQL> Flush -Tische mit Leseschloss; 
  • Überprüfen Sie den aktuellen Binärprotokolldateinamen (Datei) und den aktuellen Offset (Position) -Wert unter Verwendung der folgenden Befehl.
  • MySQL> Master -Status anzeigen; +------------------+----------+--------------+------------------+ | Datei | Position | BinLog_do_db | BinLog_ignore_db | +------------------+----------+--------------+----- --------------+ | Mysql-bin.000003 | 332 | mydb | | +------------------+----------+--------------+----- --------------+ 1 Zeile in Set (0.00 Sek.) 

    Die obige Ausgabe zeigt, dass die aktuelle Binärdatei verwendet wird Mysql-bin.000003 und Offset -Wert ist 332. Beachten Sie diese Werte auf dem Master-2-Server im nächsten Schritt zur Verwendung.

  • Nehmen Sie eine Sicherung der Datenbank und kopieren Sie sie auf einen anderen MySQL -Server.
  • # mysqldump -u root -p mydb> mydb.SQL # scp mydb.SQL 192.168.1.16:/opt/ 
  • Nach Abschluss des Backups entfernen Sie die Leseschloss aus den Tabellen, damit Änderungen vorgenommen werden können.
  • MySQL> Entsperren Sie Tabellen; 

    Schritt 2. Setup MySQL Master-2 Server einrichten

  • Bearbeiten Sie MySQL Master-2-Konfigurationsdatei und fügen Sie die folgenden Werte im Abschnitt [MySQLD] hinzu.
  • # vim /etc /mein.CNF 
    [MySQLD] log-bin-= mySQL-bin-Binlog-do-db = mydb server-id = 1 

    Server-ID ist immer ein numerischer Wert ohne Null. Dieser Wert wird niemals mit anderen Master- oder Sklavenservern ähnlich sein.

  • Starten Sie den MySQL-Server neu, wenn Sie die Replikation bereits konfiguriert haben, verwenden.
  • # Service MySQLD Neustart 
  • Stellen Sie die Datenbanksicherung wieder her, die vom Master Server entnommen wurde.
  • # mysql -u root -p mydb < /opt/mydb.sql 
  • Erstellen.
  • MySQL> Zuschussreplikation Sklave auf *.* Zu 'repl_user'@'%' identifiziert durch 'SecretPassword'; MySQL> Flush -Privilegien; 
  • Überprüfen Sie den aktuellen Binärprotokolldateinamen (Datei) und den aktuellen Offset (Position) -Wert unter Verwendung der folgenden Befehl.
  • MySQL> Master -Status anzeigen; +------------------+----------+--------------+------------------+ | Datei | Position | BinLog_do_db | BinLog_ignore_db | +------------------+----------+--------------+----- --------------+ | Mysql-bin.000001 | 847 | mydb | | +------------------+----------+--------------+----- --------------+ 1 Zeile in Set (0.00 Sek.) 

    Die obige Ausgabe zeigt, dass die aktuelle Binärdatei verwendet wird Mysql-bin.000001 und Offset -Wert ist 847. Beachten Sie diese Werte, die in Schritt 3 verwendet werden sollen.

  • Die Optionswerte auf dem Slave -Server einrichten mit dem folgenden Befehl.
  • MySQL> Master Master in Master_host = "192 ändern.168.1.15 ", -> master_user =" repl_user ", -> master_password =" secretPassword ", -> master_log_file =" mysql -bin -bin -bin -bin -bin -word.000003 ", -> master_log_pos = 332; 

    Schritt 3: Vollständige Setup auf MySQL Master-1 abschließen

    Melden Sie sich bei MySQL Master-1 Server an und führen Sie den folgenden Befehl aus.

    MySQL> Master Master in Master_host = "192 ändern.168.1.16 ", master_user =" repl_user ", master_password =" secretPassword ", master_log_file =" mysql-bin-bin-bin-bin-bin-bins.000001 ", master_log_pos = 847; 
    Schritt 4: Starten Sie den Sklaven auf beiden Servern

    Führen Sie den folgenden Befehl auf beiden Servern aus, um den Sklavenprozess mit Replikation zu starten.

    MySQL> Sklavenstart; 

    Die Replikation von MySQL Master-Master wurde erfolgreich in Ihrem System und im Arbeitsmodus konfiguriert. Um zu testen, ob die Replikation funktioniert.

    Vielen Dank für die Verwendung dieses Tutorials. Wenn es für Sie hilfreich ist, vergessen Sie bitte nicht, es mit Ihren Freunden zu teilen.