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 中找到。

本章的结构如下:

  1. Section 20.1, “Group Replication Background” 简介了群组以及 Group Replication 的工作原理。

  2. Section 20.2, “Getting Started” 说明如何配置多个 MySQL Server 实例以创建群组。

  3. Section 20.3, “Requirements and Limitations” 说明 Group Replication 的架构、设置要求和限制。

  4. Section 20.4, “Monitoring Group Replication” 说明如何监控群组。

  5. Section 20.5, “Group Replication Operations” 说明如何使用群组。

  6. Section 20.6, “Group Replication Security” 说明如何保护群组。

  7. Section 20.7, “Group Replication Performance and Troubleshooting” 说明如何微调群组性能。

  8. Section 20.8, “Upgrading Group Replication” 说明如何升级群组。

  9. Section 20.9, “Group Replication Variables” 是 Group Replication 专有系统变量的参考。

  10. Section 20.10, “Frequently Asked Questions”提供有关部署和操作组复制的一些技术问题答案。