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