Documentation Home

7.4.7 采用组复制部署

如果您已经部署了 Group Replication,并且想要使用它来创建集群,请将 adoptFromGR选项传递给该 dba.createCluster()函数。创建的 InnoDB Cluster 匹配复制组是作为单主还是多主运行。

要采用现有的组复制组,请使用 MySQL Shell 连接到组成员。在以下示例中,采用了单一主组。我们连接到 gr-member-2一个辅助实例,同时 gr-member-1作为该组的主要实例运行。dba.createCluster()使用传递 adoptFromGR选项创建集群 。例如:

mysql-js> var cluster = dba.createCluster('prodCluster', {adoptFromGR: true});

A new InnoDB cluster will be created on instance 'root@gr-member-2:3306'.

Creating InnoDB cluster 'prodCluster' on 'root@gr-member-2:3306'...
Adding Seed Instance...

Cluster successfully created. Use cluster.addInstance() to add MySQL instances.
At least 3 instances are needed for the cluster to be able to withstand up to
one server failure.
小费

如果实例有, super_read_only=ON那么您可能需要确认 AdminAPI 可以设置 super_read_only=OFF。更多信息请参见 超级只读模式下的实例配置

如果不指定adoptFromGR: true,并且目标服务器实例属于一个复制组,MySQL Shell会提示您确认是否要采用复制组。从 MySQL Shell 8.0.29 开始,如果您指定 adoptFromGR: false,则如果发现实例属于复制组,则操作将停止且不提示。

新集群与组的模式相匹配。如果采用的组在单主模式下运行,则会创建一个单主集群。如果采用的组在多主模式下运行,则会创建一个多主集群。

笔记

无法在与 相同的命令中定义 adoptFromGR集群使用的通信堆栈,集群必须最初使用采用的组使用的通信堆栈。如有必要,您可以在采用组后使用更改通信堆栈 rebootClusterFromCompleteOutage。请参阅 第 7.5.9 节,“配置组复制通信堆栈”