Zwei Möglichkeiten zur Lösung des Problems, dass die MySQL-Master-Slave-Datenbank nicht synchronisiert wirdWährend des Arbeitsprozesses wurde festgestellt, dass die Master- und Slave-Datenbanken von MySQL nicht synchronisiert waren 1. Asynchrone SituationMaster-Bibliothek: mysql>Prozessliste anzeigen; Überprüfen Sie, ob der Prozess zu viel schläft. Fand es normal. Masterstatus anzeigen; Das ist normal. mysql> Masterstatus anzeigen; +-------------------+----------+--------------+-------------------------------------------+ | Datei | Position | Binlog_Do_DB | Binlog_Ignore_DB | +-------------------+----------+--------------+-------------------------------------------+ | mysqld-bin.000001 | 3260 | | mysql,test,informationsschema | +-------------------+----------+--------------+-------------------------------------------+ 1 Zeile im Satz (0,00 Sek.) Dann überprüfen Sie Slave mysql> Slave-Status anzeigen\G Slave_IO_Running: Ja Slave_SQL_Running: Nein Man sieht, dass der Slave nicht synchron ist 2. LösungHier sind zwei Lösungen Methode 1: Ignorieren Sie den Fehler und fahren Sie mit der Synchronisierung fort Diese Methode eignet sich für Situationen, in denen sich die Daten der Master- und Slave-Datenbanken nicht sehr unterscheiden oder die Daten nicht vollständig vereinheitlicht werden können und die Datenanforderungen nicht streng sind. lösen: Sklave stoppen; #Zeigt einen Fehler beim Überspringen eines Schritts an, die Zahl dahinter ist eine global festgelegte Variable: sql_slave_skip_counter = 1; Slave starten; Verwenden Sie dann mysql> show slave status\G zum Anzeigen mysql> Slave-Status anzeigen\G Slave_IO_Running: Ja Slave_SQL_Running: Ja OK, jetzt ist der Master-Slave-Synchronisierungsstatus normal. . . Methode 2: Master-Slave erneut ausführen und vollständig synchronisieren Diese Methode eignet sich für Situationen, in denen sich die Daten der Master- und Slave-Datenbanken stark unterscheiden oder wenn die Daten vollständig vereinheitlicht werden müssen. Die Lösungsschritte sind wie folgt: 1. Rufen Sie zuerst die Hauptdatenbank auf und sperren Sie die Tabelle, um das Schreiben von Daten zu verhindernVerwenden Sie den Befehl: mysql> Tabellen mit Lesesperre leeren; Hinweis: Dies ist als schreibgeschützt gesperrt, die Anweisung unterscheidet nicht zwischen Groß- und Kleinschreibung. 2. Datensicherung durchführen#Sichern Sie die Daten in der Datei mysql.bak.sql mysqldump -uroot -p -hlocalhost > mysql.bak.sql Eines ist hier zu beachten: Datenbanksicherungen müssen regelmäßig durchgeführt werden. Sie können Shell-Skripte oder Python-Skripte verwenden, die bequemer sind und die Sicherheit der Daten gewährleisten. 3. Überprüfen Sie den Masterstatusmysql> Masterstatus anzeigen; +-------------------+----------+--------------+-------------------------------------------+ | Datei | Position | Binlog_Do_DB | Binlog_Ignore_DB | +-------------------+----------+--------------+-------------------------------------------+ | mysqld-bin.000001 | 3260 | | mysql,test,informationsschema | +-------------------+----------+--------------+-------------------------------------------+ 1 Zeile im Satz (0,00 Sek.) 4. Übertragen Sie die MySQL-Sicherungsdatei zur Datenwiederherstellung auf den Slave-Computerscp mysql.bak.sql [email protected]:/tmp/ 5. Beenden Sie den Slave-Statusmysql> Slave stoppen; 6. Führen Sie dann den MySQL-Befehl aus der Datenbank aus, um die Datensicherung zu importierenmysql> Quelle /tmp/mysql.bak.sql 7. Slave-Synchronisation einrichtenAchten Sie beim Einrichten der Slave-Synchronisierung auf den Synchronisierungspunkt. Dabei handelt es sich um das Element | Datei | Position in der Anzeige der Master-Statusinformationen der Master-Datenbank. Ändern Sie Master in Master_Host = „192.168.128.100“, Master_User = „rsync“, Master_Port = 3306, Master_Password = „“, Master_Log_File = „mysqld-bin.000001“, Master_Log_Pos = 3260; 8. Starten Sie die Slave-Synchronisation neumysql> Slave starten; 9. Überprüfen Sie den Synchronisierungsstatusmysql> Slave-Status anzeigen\G Slave_IO_Running: Ja Slave_SQL_Running: Ja 10. Kehren Sie zur Hauptdatenbank zurück und führen Sie den folgenden Befehl aus, um die Tabelle zu entsperren.TABELLEN ENTSPERREN; Oben sind die Details von zwei Methoden zur Lösung des Problems der Master-Slave-Synchronisierung der MySQL-Datenbank aufgeführt. Weitere Informationen zur Lösung des Problems der Master-Slave-Datenbanksynchronisierung von MySQL finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: Grundlegende Anwendungsmethoden für eingebettete und externe JavaScript-Links
>>: Womit kann ich dich, meinen Tisch, retten (Haiyu-Blog)
Es gibt drei Arten von virtuellen Hosts, die von ...
Ich bin auf den MySQL-FEHLER 1045 gestoßen und ha...
Inhaltsverzeichnis 1. LVS-Lastausgleich 2. Grundl...
In diesem Artikel erfahren Sie, wie Sie MySQL 8.0...
Während dieser Zeit habe ich Docker studiert und ...
1. Versuchen Sie, ein einspaltiges statt eines meh...
Ich bin ein SQL-Anfänger und dachte, die Installa...
Code Wissenspunkte 1. Kombinieren Sie fullpage.js...
In diesem Artikelbeispiel wird der spezifische Co...
Was ist ein Index? Warum einen Index erstellen? I...
Wenn Docker einen Container erstellt, verwendet e...
Inhaltsverzeichnis 1. Laden Sie das MySQL-Install...
CEP – Komplexe Ereignisverarbeitung. Die Zahlung ...
Bei der .net-Entwicklung bin ich eher mit der SQL...
Effektbild: Implementierungscode: <Vorlage>...