MySQL 8.0外壳/MySQL InnoDB ReplicaSet/采用现有的复制设置

8.3采用现有的复制设置

代替创建一个新的InnoDB ReplicaSet,你也可以采用现有的复制设置使用adoptFromAR选项dba.createReplicaSet ()。复制设置扫描,如果它是兼容的InnoDB ReplicaSet先决条件,AdminAPI创建必要的元数据。一旦复制设置被采纳,您只能使用AdminAPI管理InnoDB ReplicaSet。

将现有的复制设置一个InnoDB ReplicaSet连接到主,也称为源。复制拓扑自动扫描和确认,从壳牌全球会话连接到MySQL实例。在采用所有实例的配置检查,以确保它们是兼容InnoDB ReplicaSet使用。所有复制通道必须主动和他们的事务集验证通过GTID集必须是一致的。实例被认为具有相同的状态或者能够收敛。所有实例的拓扑自动添加到ReplicaSet。唯一的变化由该操作采用ReplicaSet是元数据的创建模式。现有的复制通道采用期间没有改变,尽管他们可能会改变在随后的主开关操作。

例如,采用复制拓扑组成的MySQL服务器实例例二example2一个InnoDB ReplicaSet,连接到主例二和问题:

mysql-js > rs = dba。createReplicaSet (testadopt, {“adoptFromAR”: 1})新replicaset拓扑可见“example1:3306”将被创建。*扫描复制拓扑。* *扫描状态的实例example1:3306 example2:3306 * * *扫描状态实例发现异步复制拓扑example1:3306发现拓扑:开始- example1:3306: uuid = 00371 d66 - 3 - c45 - 11 - ea - 804 b - 080027337932 read_only = no - example2:3306: uuid = 59 e4f26e - 3 - c3c - 11 - ea - 8 b65 - 080027337932 read_only = no -从example1:3306来源复制=“localhost: 3310”频道=状态=在灌肠器接收机= = *检查发现实例的配置…这个实例报告自己的地址作为example1:3306 example1:3306:实例配置是合适的。这个实例报告自己的地址作为example2:3306 example2:3306:实例配置是合适的。*检查发现复制拓扑……example1:3306检测为主。复制example2:3306状态就可以了。验证成功完成。 * Updating metadata... ReplicaSet object successfully created for example1:3306. Use rs.add_instance() to add more asynchronously replicated instances to this replicaset and rs.status() to check its status.

一旦InnoDB ReplicaSet已经被采用,您可以使用它以同样的方式,你将使用一个ReplicaSet是从头开始创建的。从这一点,你必须管理InnoDB ReplicaSet仅使用AdminAPI。