文档主页
MySQL 9.0 参考手册
相关文档 下载本手册
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
手册页 (TGZ) - 258.2Kb
手册页 (Zip) - 365.3Kb
信息 (Gzip) - 4.0Mb
信息 (Zip) - 4.0Mb


MySQL 9.0 参考手册  /  ...  /  组复制用例

20.1.2 组复制用例

组复制允许您通过将系统状态复制到一组服务器来创建具有冗余性的容错系统。即使其中一些服务器随后出现故障,只要不是全部或大多数服务器出现故障,系统仍然可用。根据出现故障的服务器数量,组的性能或可扩展性可能会降低,但系统仍然可用。服务器故障是隔离且独立的。它们由组成员资格服务跟踪,该服务依赖于分布式故障检测器,该检测器能够在任何服务器离开组时发出信号,无论是自愿离开还是由于意外停止。有一个分布式恢复过程,可以确保服务器加入组时自动更新到最新状态。不需要服务器故障转移,并且无处不在的多源更新特性确保了即使在单个服务器出现故障的情况下,更新也不会被阻塞。总而言之,MySQL 组复制可确保数据库服务持续可用。

重要的是要了解,尽管数据库服务可用,但在意外服务器退出时,必须将连接到该服务器的那些客户端重定向或故障转移到其他服务器。这不是组复制尝试解决的问题。连接器、负载均衡器、路由器或某种形式的中间件更适合处理此问题。例如,请参阅 MySQL Router 9.0

总而言之,MySQL 组复制提供了一种高可用性、高弹性、可靠的 MySQL 服务。

提示

要部署多个 MySQL 实例,可以使用 InnoDB 集群,它允许您在 MySQL Shell 中轻松管理一组 MySQL 服务器实例。InnoDB 集群将 MySQL 组复制包装在编程环境中,使您能够轻松部署 MySQL 实例集群以实现高可用性。此外,InnoDB 集群与 MySQL Router 无缝集成,这使您的应用程序能够连接到集群,而无需编写自己的故障转移过程。但是,对于不需要高可用性的类似用例,可以使用 InnoDB 副本集。有关 MySQL Shell 的安装说明,请参见 此处

用例示例

以下示例是组复制的典型用例。

  • 弹性复制 - 需要非常灵活的复制基础架构的环境,其中服务器的数量必须动态地增加或减少,并且副作用尽可能少。例如,云数据库服务。

  • 高可用分片 - 分片是实现写入扩展的一种流行方法。使用 MySQL 组复制来实现高可用分片,其中每个分片映射到一个复制组。

  • 异步源-副本复制的替代方案 - 在某些情况下,使用单个源服务器会使其成为单点故障。在某些情况下,写入整个组可能会更具可扩展性。

  • 自治系统 - 此外,您可以纯粹为了复制协议中内置的自动化(在本节和前几节中已描述)而部署 MySQL 组复制。