Verschiedene Fragen
Würde der Slave-Eintrag so lange bestehen bleiben, bis ein Einfügen / Aktualisieren / Löschen der Tabelle auf dem Master erfolgt, das Auswirkungen auf den Slave haben könnte?
Wenn nicht, wie kann ich sicherstellen, dass der Slave in Zukunft mit dem Master synchronisiert ist (entweder durch Löschen des Slave-Eintrags oder manuelles Kopieren dieses Eintrags in den Master)?
Woran erkenne ich, dass die Tabellen nicht synchron sind?
mysql
replication
kfmfe04
quelle
quelle
Antworten:
Solange Sie keine INSERT / UPDATE / DELETE-Anweisungen direkt auf dem Slave ausführen, sollte Ihr Slave in Ordnung sein. Andernfalls kann die MySQL-Replikation unterbrochen werden, wenn Sie eine neue Zeile in mydb.mytable auf dem Slave einfügen. Über die Replikation erkennt der Slave später eine Einfügung einer Zeile in mydb.mytable mit demselben PRIMARY KEY. Dies erzeugt den Fehler 1062 (Duplicate Key).
Der einzige Weg, wie Sie in Slave schreiben können, ohne MySQL Replication zu unterbrechen, ist folgender:
CREATE DATABASE db4;
auf den SklavenUm zu erkennen, dass ein Master und ein Slave nicht synchron sind, ohne Tools herunterzuladen, wählen Sie eine beliebige Tabelle aus und führen Sie CHECKSUM TABLE für eine Tabelle auf dem Master und die Kopie derselben Tabelle durch den Slave aus.
BEISPIEL
Wenn Sie eine Tabelle haben
mydb.mytable
, führen Sie den Befehl dagegen aus:Wenn die Werte nicht gleich sind, ist etwas nicht synchron.
Wenn Sie mehrere Tische gleichzeitig untersuchen möchten, können Sie Perconas MAATKIT herunterfahren. Sie benötigen zwei spezielle Tools (Percona hat auch das Percona Toolkit, das sie selbst aus MAATKIT gespalten haben, das jetzt weiter gefördert wird.)
oder
pt-table-checksum
führt eine CHECKSUM TABLE für alle Tabellen auf Master und Slave durch. Sie können es so konfigurieren, dass alle Datenbanken nur auf bestimmten Datenbanken ausgeführt werden.pt-table-sync
kann auf einem Slave gegen jeden Tisch ausgeführt werden. Mit den Optionen --print und --sync-to-master können Sie sehen, welche SQL-Anweisungen auf dem Slave ausgeführt werden müssen, damit sie perfekt mit dem Master übereinstimmen. Dieses Tool funktioniert nicht mit Tabellen ohne PRIMARY KEY oder UNIQUE KEY.Ich benutze MAATKIT seit Jahren. Ich mache immernoch. Ich habe das Percona Toolkit noch nicht ausprobiert, aber ich bin sicher, es sollte von der gleichen Qualität sein wie MAATKIT.
quelle