目录
本章介绍了 MySQL 8.4 中的组复制,以及如何安装、配置和监控组。MySQL 组复制使您能够创建弹性的、高可用的、容错的复制拓扑。
组可以在具有自动主节点选举的单主节点模式下运行,其中一次只有一个服务器接受更新。或者,组也可以部署在多主节点模式下,其中所有服务器都可以接受更新,即使它们是并发发出的。
有一个内置的组成员资格服务,它可以在任何给定时间点保持组视图的一致性,并可供所有服务器使用。服务器可以离开和加入组,视图将相应更新。有时,服务器可能会意外离开组,在这种情况下,故障检测机制会检测到这种情况,并通知组视图已更改。这一切都是自动完成的。
组复制保证数据库服务持续可用。但是,重要的是要了解,如果其中一个组成员不可用,则必须使用连接器、负载均衡器、路由器或某种形式的中间件将连接到该组成员的客户端重定向或故障转移到该组中的其他服务器。组复制没有内置的方法来做到这一点。例如,请参阅 MySQL Router 8.4。
组复制作为插件提供给 MySQL 服务器。您可以按照本章中的说明在组中所需的每个服务器实例上配置插件,启动组,并监控和管理组。部署 MySQL 服务器实例组的另一种方法是使用 InnoDB 集群。
要部署多个 MySQL 实例,可以使用 InnoDB 集群,它使您能够在 MySQL Shell 中轻松管理一组 MySQL 服务器实例。InnoDB 集群将 MySQL 组复制封装在一个编程环境中,使您能够轻松地部署 MySQL 实例集群以实现高可用性。此外,InnoDB 集群与 MySQL Router 无缝集成,这使您的应用程序能够连接到集群,而无需编写自己的故障转移过程。但是,对于不需要高可用性的类似用例,可以使用 InnoDB 副本集。MySQL Shell 的安装说明可以在 此处 找到。
本章结构如下
第 20.1 节 “组复制背景” 介绍了组以及组复制的工作原理。
第 20.2 节 “入门” 解释了如何配置多个 MySQL 服务器实例以创建组。
第 20.3 节 “要求和限制” 解释了组复制的体系结构、设置要求和限制。
第 20.4 节 “监控组复制” 解释了如何监控组。
第 20.5 节 “组复制操作” 解释了如何使用组。
第 20.6 节 “组复制安全” 解释了如何保护组。
第 20.7 节 “组复制性能和故障排除” 解释了如何微调组的性能。
第 20.8 节 “升级组复制” 解释了如何升级组。
第 20.9 节 “组复制变量” 是特定于组复制的系统变量的参考。
第 20.10 节“常见问题解答”提供了一些关于部署和操作组复制的技术问题的答案。