# 第22章 InnoDB ReplicaSet

本章介绍 MySQL InnoDB ReplicaSet,它结合了 MySQL 技术,使您能够部署和管理第十七章,复制.本内容是 InnoDB ReplicaSet 的高级概述,完整文档请参见MySQL InnoDB 副本集 (opens new window).

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

  • MySQL 外壳 (opens new window),它是 MySQL 的高级客户端和代码编辑器。

  • MySQL 服务器,以及第十七章,复制,它使一组 MySQL 实例能够提供可用性和异步读取横向扩展。InnoDB ReplicaSet 提供了一种替代的、易于使用的编程方式来使用 Replication。

  • MySQL 路由器 (opens new window),一个轻量级的中间件,在你的应用程序和 InnoDB ReplicaSet 之间提供透明的路由。

    InnoDB ReplicaSet 的接口类似于MySQL InnoDB 集群 (opens new window),您使用 MySQL Shell 作为 ReplicaSet 来处理 MySQL Server 实例,并且 MySQL Router 也以与 InnoDB Cluster 相同的方式紧密集成。

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

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

    要开始使用 InnoDB ReplicaSet,您需要下载 (opens new window)安装 (opens new window)MySQL 外壳。您需要一些带有 MySQL 服务器实例的主机已安装, 你也可以安装 (opens new window)MySQL 路由器。

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

    同样,InnoDB ReplicaSet 与MySQL 路由器 (opens new window),您可以使用 AdminAPI 来一起工作 (opens new window)他们在一起。MySQL Router 可以基于 InnoDB ReplicaSet 自动配置自己,在一个名为自举 (opens new window),这样您就无需手动配置路由。MySQL Router 然后透明地将客户端应用程序连接到 InnoDB ReplicaSet,为客户端连接提供路由和负载平衡。这种集成还使您能够管理使用 AdminAPI 针对 InnoDB ReplicaSet 引导的 MySQL 路由器的某些方面。InnoDB ReplicaSet 状态信息包括有关针对 ReplicaSet 引导的 MySQL 路由器的详细信息。操作使您能够创建 MySQL 路由器用户 (opens new window)在 ReplicaSet 级别,使用 MySQL 路由器引导对 ReplicaSet 等。

    有关这些技术的更多信息,请参阅描述中链接的用户文档。除了此用户文档之外,MySQL Shell JavaScript API 参考或 MySQL Shell Python API 参考中的所有 AdminAPI 方法的开发人员文档,可从连接器和 API (opens new window).