本章介绍 MySQL InnoDB 副本集,它结合了 MySQL 技术,使您能够部署和管理 第 19 章,复制。 本内容是 InnoDB 副本集的高级概述,有关完整文档,请参阅 MySQL InnoDB 副本集。
InnoDB 副本集至少包含两个 MySQL Server 实例,它提供了您熟悉的所有 MySQL 复制功能,例如读取扩展和数据安全性。 InnoDB 副本集使用以下 MySQL 技术:
MySQL Shell,它是 MySQL 的高级客户端和代码编辑器。
MySQL Server 和 第 19 章,复制,它使一组 MySQL 实例能够提供可用性和异步读取扩展。 InnoDB 副本集提供了一种替代的、易于使用的编程方式来使用复制。
MySQL Router,一种轻量级中间件,可在您的应用程序和 InnoDB 副本集之间提供透明路由。
InnoDB 副本集的接口类似于 MySQL InnoDB 集群,您使用 MySQL Shell 将 MySQL Server 实例作为副本集进行操作,并且 MySQL Router 也以与 InnoDB 集群相同的方式紧密集成。
基于 MySQL 复制,InnoDB 副本集只有一个主节点,它复制到一个或多个从节点。 InnoDB 副本集不提供 InnoDB 集群提供的所有功能,例如自动故障转移或多主模式。 但是,它确实支持以类似方式配置、添加和删除实例等功能。 您可以手动切换或故障转移到辅助实例,例如在发生故障时。 您甚至可以采用现有的复制部署,然后将其作为 InnoDB 副本集进行管理。
您可以使用 AdminAPI 使用 InnoDB 副本集,该 API 作为 MySQL Shell 的一部分提供。 AdminAPI 可在 JavaScript 和 Python 中使用,非常适合 MySQL 部署的脚本编写和自动化,以实现高可用性和可扩展性。 通过使用 MySQL Shell 的 AdminAPI,您可以避免手动配置许多实例的需要。 相反,AdminAPI 为 MySQL 实例集提供了一个有效的现代接口,使您能够从一个中央工具配置、管理和监控您的部署。
要开始使用 InnoDB 副本集,您需要 下载 并 安装 MySQL Shell。 您需要一些安装了 MySQL Server 实例的主机 已安装,您也可以 安装 MySQL Router。
InnoDB 副本集支持 MySQL 克隆,它使您能够轻松配置实例。 过去,要在新实例加入 MySQL 复制部署之前对其进行配置,您需要以某种方式手动将事务传输到加入的实例。 这可能涉及制作文件副本、手动复制它们等等。 您可以简单地将 添加一个实例 到副本集,它会自动配置。
类似地,InnoDB 副本集与 MySQL Router 紧密集成,您可以使用 AdminAPI 一起使用 它们。 MySQL Router 可以根据 InnoDB 副本集自动配置自身,这一过程称为 引导,这使您无需手动配置路由。 然后,MySQL Router 透明地将客户端应用程序连接到 InnoDB 副本集,为客户端连接提供路由和负载平衡。 这种集成还使您能够使用 AdminAPI 管理针对 InnoDB 副本集引导的 MySQL Router 的某些方面。 InnoDB 副本集状态信息包括有关针对副本集引导的 MySQL Router 的详细信息。 操作使您能够 创建 MySQL Router 用户 在副本集级别,使用针对副本集引导的 MySQL Router,等等。
有关这些技术的更多信息,请参阅说明中链接的用户文档。 除了此用户文档之外,还有针对 MySQL Shell JavaScript API 参考或 MySQL Shell Python API 参考中所有 AdminAPI 方法的开发者文档,可从 连接器和 API 获取。