Error number: 4020; Symbol: ER_ANONYMOUS_TO_GTID_UUID_SAME_AS_GROUP_NAME; SQLSTATE: HY000
Message: Replication ‘%s’ is configured with ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS = where the UUID value is equal to the group_replication_group_name
错误说明:
ER_ANONYMOUS_TO_GTID_UUID_SAME_AS_GROUP_NAME错误号指明一个错误,即不能用匿名分组与GTID_UUID分组相同的名字。 该错误号为4020,SQLSTATE为HY000。
该错误通常是在创建一个可跟踪全局事务ID(GTID)的分组时,把它和一个已经存在的分组名称一样,导致MySQL出错。例如:
MySQL [test]> CREATE GROUP my_group_name;
ERROR 4020 (HY000): Group (my_group_name) already exists and an anonymous group cannot have the same name as an existing group.
解决方法:
当MySQL报出ER_ANONYMOUS_TO_GTID_UUID_SAME_AS_GROUP_NAME错误时,您可以使用以下步骤来解决问题:
1.首先,检查哪个用户获取了该分组的权限,然后更改另一个用户对该分组的权限。
2.从MySQL服务器上删除错误的分组来纠正错误,然后重新创建正确的分组:
> DROP GROUP [GROUP_NAME];
> CREATE GROUP [GROUP_NAME]
3.确保你使用了唯一的名称,因为不能有两个相同名称的分组。
4.最后,重新启动应用程序以使所有更改生效。
此外,MySQL的GTID技术提供了记录并回放服务器上的全局事务的好方法。如果您正在使用GTID,请确保没有与其他分组相同名称,以免出现ER_ANONYMOUS_TO_GTID_UUID_SAME_AS_GROUP_NAME错误。