9.1 部署 InnoDB ReplicaSet
9.2 配置 InnoDB ReplicaSet 实例
9.3 创建 InnoDB ReplicaSet
9.4 向 ReplicaSet 添加实例
9.5 采用一个现有的复制设置
9.6 更改主实例
9.7 强制(切换)一个新的主实例
9.8 InnoDB ReplicaSet 锁
9.9 标记 ReplicaSets
9.10 检查 InnoDB ReplicaSet 状态
9.11 升级 InnoDB ReplicaSet
AdminAPI 包括对 InnoDB ReplicaSet 的支持,它使您能够管理一组 MySQL 实例,这些实例类似地运行基于异步 GTID 的复制,该复制完全基于事务。 InnoDB ReplicaSet 由单个 主要( Primary ) 副本和多个 次要/辅助( Secondary ) 副本(传统上称为 MySQL 复制源和副本)组成。
您可以使用 ReplicaSet 对象和 AdminAPI 操作来管理 ReplicaSet, 例如,检查 InnoDB ReplicaSet 的状态,并在发生故障时手动故障切换到新的主设备。
与 InnoDB Cluster 类似,MySQL Router 支持针对 InnoDB ReplicaSet 的引导,这意味着您可以自动配置 MySQL Router 以使用您的 InnoDB ReplicaSet, 而无需手动配置。这种自动配置使 InnoDB ReplicaSet 成为一种快速、简便的方式来启动和运行 MySQL 复制和 MySQL Router。 它适合于在不需要 InnoDB Cluster 提供的高可用性的用例中扩展读取并提供手动故障切换功能。
除了使用 AdminAPI 部署 InnoDB ReplicaSet 之外,还可以采用现有的复制设置。 AdminAPI 根据复制设置的拓扑配置 InnoDB ReplicaSet 。 完成复制设置后,您可以像从头开始部署 InnoDB ReplicaSet 一样管理它。您可以利用 AdminAPI 和 MySQL 路由器,而无需创建新的 ReplicaSet。 有关更多信息,请参阅 第 9.5 节 “采用现有复制设置” 。
您可以在广域网( WAN) 上使用 InnoDB ReplicaSet, 而不会影响写入性能,因为服务器实例通过异步复制通道连接,不需要对事务达成共识。然而,WAN 上的复制延迟更大。此延迟导致 InnoDB ReplicaSet 中的辅助服务器进一步落后于主服务器。
InnoDB ReplicaSet 限制。 与 InnoDB Cluster 相比,InnoDB ReplicaSet 有几个限制。建议尽可能部署 InnoDB Cluster。 通常,InnoDB ReplicaSet 本身不提供高可用性。 InnoDB ReplicaSet 的限制包括:
使用 InnoDB ReplicaSet 的主要原因是您具有更好的写入性能。使用 InnoDB ReplicaSet 的另一个原因是,它们允许在不稳定或缓慢的网络上部署,而 InnoDB Cluster 则不允许。