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)
Nach der Installation des neuesten Windows 10-Upd...
CocosCreator realisiert Skill-CD-Effekt In vielen...
EXPLAIN zeigt, wie MySQL Indizes verwendet, um Au...
Deinstallieren Sie MariaDB CentOS7 installiert st...
In diesem Artikel wird der spezifische Code der b...
In CSS-Style-Datei angeben #class td /*Legen Sie ...
Wie in der Abbildung gezeigt: Tabellendaten Wie e...
Dieser Artikel enthält die Zusammenfassung des JS...
Zur Aufzeichnung: Es kann in Zukunft verwendet we...
In diesem Artikelbeispiel wird der spezifische Ja...
Inhaltsverzeichnis 1. Docker installieren 2. Code...
Viele Freunde stellten beim Erlernen des Front-En...
Ich habe mich kürzlich mit Algorithmen beschäftig...
1. Einführung in nmon Nmon (Nigel's Monitor) ...
Ich habe eine gute Idee gesehen und sie aufgezeic...