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