是否有必要知道iPwhitelist中包含的所有主机在集群创建中



我正在使用MySQL 8.0.14和InnoDB群集玩耍。我目前一直坚持通过mysql shell创建组复制。

由于我想使用SSL,因此我必须在dba.createcluster()上设置ipwhitelist,如下所示:

var cluster = dba.createCluster('testCluster4', {ipWhitelist:'somedns-1.tosqlnode'})

群集是成功创建的。现在我想添加另一个实例。

cluster.addInstance('ca@somedns-2.tosqlnode', {ipWhitelist:'somedns-1.tosqlnode,somedns-2.tosqlnode'})

这失败了,因为第一个实例显示了一个错误,该错误指出非白色的实例正在尝试连接。


所以创建另一个:

var cluster = dba.createCluster('testCluster5', {ipWhitelist:'somedns-1.tosqlnode,somedns-2.tosqlnode'})

群集是成功创建的。现在我想添加另一个实例。

cluster.addInstance('ca@somedns-2.tosqlnode', {ipWhitelist:'somedns-1.tosqlnode,somedns-2.tosqlnode'})

实例已成功添加。


真的有必要知道集群创建中的所有实例地址吗?我找不到通过mySQL shell更改初始iPwhitelist的方法。

是的,是。并且请注意,它需要是双向的(您在第二次尝试中正确设置)。另外,您可以使用CIDR符号选择要"白色"的特定子网。

有关更多信息,请查看有关IP-Whitelist的文档部分:https://dev.mysql.com/doc/refman/8.0/en/group-replication-replication-replication-ip-address-whitelisting.html

关于通过Shell更改运行群集的当前IP-Whitelist的可能性,这是不可能的。您需要重新创建群集:

cluster.dissolve({force: true])
var cluster = dba.createCluster('myCluster', {ipWhitelist:'<myIpWhitelist'})

欢呼,

Miguel

如果您想即时添加节点,则需要将group_replication_ip_whitelist设置为AUTOMATIC。这是在配置过程中未从外壳中指定任何iPwhitelist(默认)时完成的。如果没有,您必须做Miguel上面写的。

相关内容

  • 没有找到相关文章

最新更新