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