Error im bin.log der MySQL Replikation überspringen

Sollte man mal doch eine Dummheit als Admin machen und die MySQL-Replikation zum stocken bringen, kann es schon reichen diesen einen Fehler zu überspringen und den Replikations-Slave danach weiter das bin.log abarbeiten zu lassen. Die erste Dummheit passiert mir schon beim Erstellen einer MySQL_Function, auf die ich gar nicht weiter eingehen möchte. Das Resultat war, dass diese nun nur auf dem Replikations-Master vorhanden war, nicht aber auf dem Slave. Die eigentliche Dummheit machte ich, als ich dann über den MySQL-Master via “DROP FUNCTION” diese Funktion löschen wollte, denn das Kommando wurde auf den Slave repliziert, wo es bekanntlich diese Funktion nicht gab. Und schon stand der Slave still.

 

mysql> show slave statusG

zeigte entsprechend auch den Fehler in der Variable Last_SQL_Error

Dank dieses wunderbaren Artikels konnte ich das Problem binnen weniger Sekunden aber beheben:

Auf dem Slave (der ja das Problem hat) die Replikation stoppen…

mysql> STOP SLAVE;

Dem Slave sagen, dass er eine Anweisung weiter springen soll (der Wert 1 kann natürlich entsprechend auch verändert werden), beim Abarbeiten der binären Datei vom Master-Server…

mysql> SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;

Die Replikation wieder starten und prüfen ob alles schick ist.

mysql> START SLAVE;

mysql> SHOW SLAVE STATUS G