MySQL 8.4 参考手册  /  InnoDB 副本集

第 24 章 InnoDB 副本集

本章介绍 MySQL InnoDB 副本集,它结合了 MySQL 技术,使您能够部署和管理第 19 章 “复制”。本内容是对 InnoDB 副本集的高级概述,有关完整文档,请参阅MySQL InnoDB 副本集

InnoDB 副本集至少包含两个 MySQL Server 实例,它提供了您熟悉的所有 MySQL 复制功能,例如读取扩展和数据安全性。InnoDB 副本集使用以下 MySQL 技术:

  • MySQL Shell,它是 MySQL 的高级客户端和代码编辑器。

  • MySQL 服务器和第 19 章 “复制”,它们使一组 MySQL 实例能够提供可用性和异步读取扩展。InnoDB 副本集提供了一种替代的、易于使用的编程方式来使用复制。

  • MySQL 路由器,一种轻量级中间件,可在您的应用程序和 InnoDB 副本集之间提供透明路由。

InnoDB 副本集的接口类似于MySQL InnoDB 集群,您可以使用 MySQL Shell 将 MySQL Server 实例作为副本集进行操作,并且 MySQL 路由器也以与 InnoDB 集群相同的方式紧密集成。

基于 MySQL 复制,InnoDB 副本集具有单个主节点,该主节点复制到一个或多个辅助节点。InnoDB 副本集不提供 InnoDB 集群提供的所有功能,例如自动故障转移或多主模式。但是,它确实支持以类似方式配置、添加和删除实例等功能。您可以手动切换或故障转移到辅助实例,例如在发生故障时。您甚至可以采用现有的复制部署,然后将其作为 InnoDB 副本集进行管理。

您可以使用 MySQL Shell 提供的AdminAPI 来使用 InnoDB 副本集。AdminAPI 在 JavaScript 和 Python 中可用,非常适合脚本化和自动化 MySQL 部署以实现高可用性和可扩展性。通过使用 MySQL Shell 的 AdminAPI,您可以避免手动配置许多实例的需要。相反,AdminAPI 为 MySQL 实例集提供了一个有效的现代接口,使您能够从一个中央工具配置、管理和监控您的部署。

要开始使用 InnoDB 副本集,您需要下载安装 MySQL Shell。您需要一些主机,并在这些主机上安装了 MySQL Server 实例,您还可以安装 MySQL 路由器。

InnoDB 副本集支持MySQL 克隆,这使您能够轻松配置实例。过去,要在新实例加入 MySQL 复制部署之前对其进行配置,您需要以某种方式手动将事务传输到加入的实例。这可能涉及制作文件副本、手动复制它们等。您可以简单地向副本集添加一个实例,它就会自动配置。

类似地,InnoDB 副本集与MySQL 路由器紧密集成,您可以使用 AdminAPI一起使用它们。MySQL 路由器可以基于 InnoDB 副本集自动配置自身,此过程称为引导,这使您无需手动配置路由。然后,MySQL 路由器将客户端应用程序透明地连接到 InnoDB 副本集,为客户端连接提供路由和负载平衡。这种集成还使您能够使用 AdminAPI 管理针对 InnoDB 副本集引导的 MySQL 路由器的某些方面。InnoDB 副本集状态信息包括有关针对副本集引导的 MySQL 路由器的详细信息。操作使您能够在副本集级别创建 MySQL 路由器用户,以使用针对副本集引导的 MySQL 路由器,等等。

有关这些技术的更多信息,请参阅说明中链接的用户文档。除了此用户文档之外,还有针对所有 AdminAPI 方法的开发者文档,位于 MySQL Shell JavaScript API 参考或 MySQL Shell Python API 参考中,可从连接器和 API获取。