MySql 中文参考指南
Chapter 20 Group Replication
目录
本章解释了 MySQL 9.0 中的组复制,以及如何安装、配置和监控组。MySQL 组复制使您能够创建弹性、高可用性、容错复制拓扑。
组可以在具有自动主选的单主模式下操作,其中一次只有一个服务器接受更新。或者,组可以部署在多主模式中,其中所有服务器都可以接受更新,即使它们是并发发出的。
有一个内置的组成员身份服务,可使组的视图一致,并在任何给定的时间点对所有服务器可用。服务器可以离开并加入该组,并且视图会相应更新。有时服务器会意外离开该组,在这种情况下,故障检测机制会检测到此情况,并通知组视图已更改。这一切都是自动的。
组复制可以确保数据库服务持续可用。然而,了解到如果其中一个组成员不可用,那么连接到该组成员的客户端必须重新定向,或故障转移到组中的另一个服务器(使用连接器、负载平衡器、路由器,或某种形式的中间件)。组复制没有内置方法来执行此操作。例如,请参阅 MySQL Router 9.0。
组复制作为插件提供给 MySQL 服务器。您可以按照本章中的说明在组中所需的每个服务器实例上配置插件,启动组,并监控和管理组。部署 MySQL 服务器实例组的另一种方法是使用 InnoDB 集群。
要部署 MySQL 的多个实例,您可以使用 InnoDB Cluster,这样您就可以在 MySQL Shell 中轻松管理一组 MySQL 服务器实例。InnoDB 集群将 MySQL 组复制封装在一个编程环境中,使您可以轻松部署 MySQL 实例集群以实现高可用性。此外,InnoDB 集群与 MySQL Router 无缝衔接,使您的应用程序能够连接到集群,而无需编写自己的故障转移过程。但是,对于不需要高可用性的类似用例,您可以使用 InnoDB ReplicaSet。MySQL Shell 的安装说明可在 here 中找到。
本章的结构如下:
-
Section 20.1, “Group Replication Background” 简介了群组以及 Group Replication 的工作原理。
-
Section 20.2, “Getting Started” 说明如何配置多个 MySQL Server 实例以创建群组。
-
Section 20.3, “Requirements and Limitations” 说明 Group Replication 的架构、设置要求和限制。
-
Section 20.7, “Group Replication Performance and Troubleshooting” 说明如何微调群组性能。
-
Section 20.9, “Group Replication Variables” 是 Group Replication 专有系统变量的参考。
-
Section 20.10, “Frequently Asked Questions”提供有关部署和操作组复制的一些技术问题答案。