Error number: 3970; Symbol: ER_GROUP_REPLICATION_USER_EMPTY_MSG; SQLSTATE: HY000
Message: The START GROUP_REPLICATION command failed since the username provided for recovery channel is empty.
错误说明
MySQL错误3970(ER_GROUP_REPLICATION_USER_EMPTY_MSG)是由MySQL数据库中的“群组复制用户”配置项为空而引起的。MySQL群组复制允许用户将多个MySQL实例集中在同一个群组中,以实现可靠的高可用性和负载平衡。
常见案例
MySQL群组复制用户名和密码必须在每个要被集群化的MySQL实例上使用相同的设置。如果用户在一个MySQL实例上没有配置这些用户名和密码,或者在另一个MySQL实例上配置的用户名和密码不匹配,则MySQL将会出现错误3970(ER_GROUP_REPLICATION_USER_EMPTY_MSG)。
解决方法
解决MySQL错误3970(ER_GROUP_REPLICATION_USER_EMPTY_MSG)的最简单方法是在所有MySQL实例上都使用相同的用户名和密码给“群组复制用户”配置上值,这样就可以让MySQL连接被集群化的实例。
用户可以使用以下SQL语句在MySQL实例中创建群组复制用户:
CREATE USER ‘replication_user’@’%’ IDENTIFIED BY ‘replication_password’;
GRANT ALL ON *.* TO ‘replication_user’@’%’ WITH GRANT OPTION;
FLUSH PRIVILEGES;
用户可以根据自己的需求来修改创建用户的用户名和密码。在所有MySQL实例中都使用相同的用户配置后,MySQL将正确链接到群组复制中的所有实例,错误3970(ER_GROUP_REPLICATION_USER_EMPTY_MSG)也将被解决。