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