mysql Replikation skip-Anweisung. ist es möglich?
Gibt es ein system mit ROW-basierte Replikation.
Ich habe gestern schon ausgeführt, eine schwere auf Anweisung meines Meisters versehen und fand mein Sklaven weit hinter master. Ich habe unterbrochen, die Abfrage auf dem master, aber es war immer noch auf Sklaven.
Also ich habe meinen Sklaven 15 Stunden hinter Meister.
Ich habe bereits versucht, über eine position durch das zurücksetzen von slave und die Erhöhung MASTER_LOG_POS, aber mit kein Glück: die position wurde nicht gefunden, weil die relay-log nicht weiter Lesen, als ein heavy-Abfrage event.
Read_Master_Log_Pos == Exec_Master_Log_Pos
- Gibt es eine Möglichkeit zum überspringen der schweren Abfrage?
(i don ' T care über die Daten, die geändert werden sollen, durch Abfrage) - Gibt es einen Weg, um zu töten eine Abfrage an ein slave-übernommen aus dem relay-log?
- Gibt es eine Möglichkeit, Rollen Sie den Sklaven zurück in der 1-position, entfernen Sie die
Veranstaltung von master-bin-log und fortsetzen der Replikation?
InformationsquelleAutor Volodymyr Linevych | 2013-07-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ersten erkunden der binary-logs auf dem master zu finden, der die SQL-Anweisung, die das Problem verursacht, verwenden Sie die folgenden Schritte auf dem master:
Dann legen Sie die slave-nur sync bis zu der Aussage davor:
Wenn Sie wollen, es zu tragen auf der Replikation nach der schlecht-Aussage (Achtung, das kann gefährlich werden, wenn die Anweisung Daten geändert) man kann sagen der Sklave weiterhin von einem bestimmten Punkt aus in der masters-log. Dazu erhalten die position mit dem ersten Befehl auf dem master einstellen und dann den slave zu gehen:
InformationsquelleAutor A.Badger
Versuchen Sie Folgendes auf dem slave:
Dies wird stop-die Sklaven threads und überspringt den nächsten Veranstaltung aus dem master. Das Sie normalerweise verwenden, wenn Sie Probleme mit den Anweisungen zu überspringen.
Lesen Sie auch folgenden Teil der mysql-docs: set-global-sql-slave-skip-Zähler
InformationsquelleAutor Flo Doe
Fand ich den Start der io_thread erste
Prüfung und relay-logs mit dem Befehl
Dies ersparte mir eine Menge Zeit.
InformationsquelleAutor Rodo
Können Sie eine skip-Zähler wie folgt:
Zu sehen, die processlist:
Start slave aus der spezifischen position:
Ref: http://dev.mysql.com/doc/refman/5.0/en/start-slave.html
InformationsquelleAutor Teun Ouwehand
Für diejenigen, die auf Amazon RDS-MySQL können Sie überspringen, einen Fehler zu einer Zeit auf der slave mit:
Keine Notwendigkeit zu stoppen, Replikation, bevor Sie dies ausführen.
InformationsquelleAutor Sean Fahey