Heim > Datenbank > MySQL-Tutorial > Wie synchronisiert man nicht übereinstimmende Datenbanken in der MySQL-Replikation erneut?

Wie synchronisiert man nicht übereinstimmende Datenbanken in der MySQL-Replikation erneut?

Barbara Streisand
Freigeben: 2024-11-05 06:05:02
Original
398 Leute haben es durchsucht

How to Resync Mismatched Databases in MySQL Replication?

Auflösen nicht übereinstimmender Datenbanken bei der MySQL-Replikation

Im Bereich der MySQL-Replikation ist die Aufrechterhaltung der Datenintegrität zwischen dem Master- und dem Slave-Server von größter Bedeutung. Allerdings können Umstände wie Netzwerkausfälle dieses empfindliche Gleichgewicht stören und zu Datenbankdiskrepanzen führen. Dieses Handbuch bietet eine detaillierte Vorgehensweise, um Ihre Master- und Slave-Datenbanken von Grund auf neu zu synchronisieren und so wieder eine nahtlose Replikation sicherzustellen.

Vorgehensweise:

Auf dem Master-Server:

  • Master-Status zurücksetzen: RESET MASTER verwenden; um die Replikationsinformationen des Masters zu löschen.
  • Lesevorgang sperren: FLUSH TABLES WITH READ LOCK ausführen; um Datenänderungen während des Dumps zu verhindern.
  • Master-Status anzeigen: Führen Sie SHOW MASTER STATUS aus; und notieren Sie die Werte des Ergebnisses.

Generieren Sie einen Master-Dump:

  • Erstellen Sie einen vollständigen Datenbank-Dump mit mysqldump -u root -p - -all-databases > /a/path/mysqldump.sql.
    Lesevorgang entsperren:
  • UNLOCK TABLES ausführen; um die Lesesperre aufzuheben.

Dump-Datei auf Slave kopieren:

  • Übertragen Sie die Dump-Datei mit scp oder einer anderen geeigneten Datei auf den Slave-Server Übertragungsmethode.

Auf dem Slave-Server:

  • Slave-Replikation stoppen: Führen Sie STOP SLAVE aus; um den Replikationsprozess anzuhalten.
  • Stammdaten laden: Verwenden Sie mysql -uroot -p < mysqldump.sql, um den Slave mit den Daten des Masters zu füllen.
  • Protokolle zurücksetzen und synchronisieren:

    • RESET SLAVE ausführen; um die Replikationseinstellungen des Slaves zu löschen.
    • Ersetzen Sie MASTER_LOG_FILE und MASTER_LOG_POS durch die Werte, die Sie aus dem SHOW MASTER STATUS des Masters aufgezeichnet haben; Ausgabe. Verwenden Sie CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=98;.
  • Slave-Replikation starten: Führen Sie START SLAVE aus; um den Datenfluss vom Master fortzusetzen.

Überprüfung:

  • Überprüfen Sie den Replikationsstatus mit SHOW SLAVE STATUS;.
  • Erwartet Ausgabe: Slave_IO_Running: Ja und Slave_SQL_Running: Ja, was auf eine erfolgreiche Synchronisierung hinweist.

Das obige ist der detaillierte Inhalt vonWie synchronisiert man nicht übereinstimmende Datenbanken in der MySQL-Replikation erneut?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage