当您将新实例添加到 InnoDB ReplicaSet 时,您需要为实例提供 ReplicaSet 包含的现有数据。您可以使用以下方法之一自动执行此配置:
-
MySQL 克隆:从在线实例获取快照,然后用快照替换新实例上的任何数据。MySQL Clone 非常适合将新的空白实例加入 InnoDB ReplicaSet。MySQL Clone 不依赖于 InnoDB ReplicaSet 应用的所有事务的完整二进制日志。
警告当您添加一个实例时,MySQL Clone 操作会销毁该实例之前的所有数据。
-
增量恢复:依靠 MySQL 复制在新实例上应用所有丢失的事务。如果新实例上只缺少少数事务,则增量恢复是最快的方法。但是,只有至少一个在线的InnoDB ReplicaSet实例有一个完整的二进制日志,它包含了InnoDB ReplicaSet的整个事务历史,你才能使用这种方法。
您不能使用此方法:
如果您已清除所有成员的二进制日志。
如果在实例中已存在数据库后启用二进制日志。
如果您有许多事务要应用,在实例可以加入 InnoDB ReplicaSet 之前可能会有相当长的延迟。
当实例加入 ReplicaSet 时,恢复的使用方式与在 InnoDB Cluster 中的使用方式大致相同。MySQL Shell 会尝试自动选择合适的恢复方法。如果无法安全地选择方法,MySQL Shell 会提示使用什么。有关详细信息,请参阅 第 7.4.6 节,“将 MySQL 克隆与 InnoDB Cluster 一起使用”。本节介绍将实例添加到 ReplicaSet 时的差异。