文档解释
Error number: 4019; Symbol: ER_CANT_SET_SQL_AFTER_OR_BEFORE_GTIDS_WITH_ANONYMOUS_TO_GTID; SQLSTATE: HY000
Message: The SQL_AFTER_GTIDS or SQL_BEFORE_GTIDS clauses for START REPLICA cannot be used when the replication channel is configured with ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS = LOCAL|.
错误说明:
ER_CANT_SET_SQL_AFTER_OR_BEFORE_GTIDS_WITH_ANONYMOUS_TO_GTID错误表示,在指定的global transaction ID(GTID)前后设置SQL语句时,在设置开始已定义ANONYMOUSGTID到GTID模式时发生错误。
常见案例
这个错误是在同步MySQL时可能会出现的。此错误发生时,尝试在当前使用SQL语句进行同步操作前设置ANONYMOUS_GTID到GTID模式,但未指定任何全局事务ID,导致发生此错误。
解决方法:
要解决此错误,只需正确指定全局事务ID,然后再同步MySQL服务。要确定全局事务ID,请在复制源上使用show global transaction ID命令。另外,可以使用change master语句指定GTID模式,以确保拥有正确的total global transaction ID。