Error number: MY-011526; Symbol: ER_GRP_RPL_MEMBER_TRANS_GREATER_THAN_GRP; SQLSTATE: HY000
Message: This member has more executed transactions than those present in the group. Local transactions: %s > Group transactions: %s
错误说明:
ER_GRP_RPL_MEMBER_TRANS_GREATER_THAN_GRP 错误提示是 MySQL 的一个内部错误,在集群复制的过程中会发生。它的意义是,在群集的某个成员上传输的事务数量超过群集的最大值。
ER_GRP_RPL_MEMBER_TRANS_GREATER_THAN_GRP 错误常见于集群复制,其中每个成员都比群集中实际存在的有效事务数量更大。这是因为每个成员都有一个仅限于群集成员的事务发送队列,该队列仅保留成功进入事务队列中的事务。在尝试将节点重新加入群集时,新节点可能有比群集中最大事务数更多的事务。
解决方法:
对于ER_GRP_RPL_MEMBER_TRANS_GREATER_THAN_GRP错误,解决方法是重新连接节点,先停止节点,然后使用 mysql_grastate 命令将其配置为 AUTO-REJOIN 状态,然后再次启动节点。
在重新连接节点之后,节点会尝试重新加入群集,如果群集中最大事务数小于节点中有效事务数量,错误就会消失。 如果错误依然存在,您可以考虑在 SET GLOBAL group_replication_max_transactions_behind 部分重置群集中的最大事务数,以便节点能够重新加入群集。