2016-04-19 4 views
1

gemacht Ich benutze MySQL 5.7 mit GTID Master-Master-Replikation und ich habe einen seltsamen Fehler.Anonyme Transaktionen werden auch mit GTID_MODE = ON

Randomly einer meiner Meister stoppt mit replizieren: „Kann nicht anonyme Transaktion replizieren, wenn @@ GLOBAL.GTID_MODE = ON“

Wenn ich überprüfen, es ist in der Tat ein anonymer Eintrag in der binlog, aber was nicht ist Es ist klar, wie es dort angekommen ist, da der andere Master auch GTID_MODE = ON hat und das keine anonymen Transaktionen ausführen oder in den Binlog gelangen sollte.

enforce_gtid_consistency ist auch ON, also Abfragen, die dazu führen würden, dass eine anonyme Transaktion fehlschlagen würde.

Es ist auch nur eine einzige Abfrage/Transaktion. Die vorherigen und nächsten Abfragen im binlog haben immer GTIDs.

+0

können Sie die Ausgabe von SHOW SLAVE STATUS –

+0

Entschuldigen Sie die Verzögerung, es ist gerade wieder aufgetreten. Last_IO_Error: Schwerer Fehler 1236 vom Master beim Lesen von Daten aus dem Binärprotokoll: 'Replizierte anonyme Transaktion nicht möglich, wenn @@ GLOBAL.GTID_MODE = ON, unter Datei /var/log/mysql/mysql-bin.002642, Position 55634042 .; das erste Ereignis 'mysql-bin.002636' unter 90512641, das letzte Ereignis gelesen von '/var/log/mysql/mysql-bin.002642' bei 55634107, das letzte gelesene Byte von '/ var/log/mysql/mysql- bin.002642 'bei 55634107.' – Nick

+0

Haben Sie eine Lösung für das Problem gefunden? –

Antwort

0

Ich stieß auf das gleiche Problem. Das erste Mal, als ich es gesehen habe, war als ich auf MySQL 5.7.12 aktualisiert habe.

Ich habe noch keine Problemumgehung/Reparatur noch. In welcher mysql Version bist du?

+0

Ich bin auf MySQL 5.7.11. Die Problemumgehung, die ich gefunden habe, ist @@ global.GTID_MODE = ON_PERMISSIVE; Starten Sie auf beiden Servern den Slave, warten Sie, bis der Server vollständig reagiert hat, und setzen Sie beide Server wieder auf @@ global.GTID_MODE = ON; – Nick

+0

Die Einstellung von GTID_MODE auf ON_PERMISSIVE hat wirklich geholfen. –