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:
- Der Master verfügt über die Datenbanken db1, db2, db3
- Der Slave repliziert die Datenbanken db1, db2, db3 vom Master
- Du rennst
CREATE DATABASE db4;
auf den Sklaven
- Sie können INSERTs / UPDATES / DELETEs nur für db4 auf dem Slave ausführen
- Sie können INSERTs / UPDATES / DELETEs nicht nur für db1, db2, db3 auf dem Slave ausführen
Um 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:
mysql> CHECKSUM TABLE mydb.mytable;
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.