我已经成功创建了一个Innodb集群,我有两个要加入集群的节点,但是似乎每当我运行命令将第一个节点加入集群时,都会出现以下错误:
Cluster.addInstance: WARNING: The given 'MySQL-Instance1:3306' and the peer 'MySQL-Cluster:3306' have duplicated server_id 1
ERROR: Error joining instance to cluster: 'MySQL-Instance1:3306' - Query failed. MySQL Error (3630): ClassicSession.query: Access denied; you need SYSTEM_VARIABLES_ADMIN and PERSIST_RO_VARIABLES_ADMIN privileges for this operation. Query: SET @@persist_only.server_id=/*(*/4097805574/*)*/: MySQL Error (3630): ClassicSession.query: Access denied; you need SYSTEM_VARIABLES_ADMIN and PERSIST_RO_VARIABLES_ADMIN privileges for this operation (RuntimeError)
它要求将某种特权授予我的集群用户(即Cluster8171),而且我已经用用户Cluster8171配置了所有节点,我可以使用该用户访问每个节点,但是我无法添加他们,有人可以告诉我这里出了什么问题吗?
答案 0 :(得分:1)
确保两个实例上定义的用户名和密码相同
如果mysql用户包括主机名或IP地址,请确保定义了 BOTH 用户名。
ALSO:
https://forums.mysql.com/read.php?177,665267,665310#msg-665310
我发现的另一个重要点是在添加实例时 ip白名单具有主机名,则主机名应匹配 实例的主机名,应解析为可以 其他实例可以到达。
SYSTEM_VARIABLES_ADMIN
和PERSIST_RO_VARIABLES_ADMIN
。