本章介绍 MySQL InnoDB ReplicaSet,它结合 MySQL 技术,允许您部署和管理第 19 章复制。本内容是 InnoDB ReplicaSet 的高级概述,完整的文档,请参阅MySQL InnoDB ReplicaSet。
InnoDB ReplicaSet 由至少两个 MySQL 服务器实例组成,提供了所有 MySQL 复制功能,例如读取扩展和数据安全。InnoDB ReplicaSet 使用以下 MySQL 技术:
-
MySQL Shell,这是一个高级客户端和代码编辑器,用于 MySQL。
-
MySQL 服务器和第 19 章复制,它使一组 MySQL 实例能够提供可用性和异步读取扩展。InnoDB ReplicaSet 提供了一个易于使用的编程方式来处理复制。
-
MySQL Router,是一个轻量级的中间件,提供了 InnoDB ReplicaSet 的透明路由。
InnoDB ReplicaSet 的接口类似于MySQL InnoDB Cluster,您使用 MySQL Shell 工作与 MySQL 服务器实例作为 ReplicaSet,MySQL Router 也与 InnoDB Cluster 一样紧密集成。
基于 MySQL 复制,InnoDB ReplicaSet 有一个主实例,复制到一个或多个次要实例。InnoDB ReplicaSet 不提供 InnoDB Cluster 的所有功能,例如自动故障转移或多主模式。但是,它支持配置、添加和删除实例的方式类似。您可以手动切换到次要实例,例如在故障事件中。您甚至可以采用现有的复制部署,然后将其作为 InnoDB ReplicaSet 进行管理。
您使用 AdminAPI 工作与 InnoDB ReplicaSet,AdminAPI 是 MySQL Shell 的一部分,提供了 JavaScript 和 Python 语言,非常适合脚本和自动化 MySQL 部署以实现高可用性和可扩展性。使用 MySQL Shell 的 AdminAPI,您可以避免手动配置多个实例。相反,AdminAPI 提供了一个现代化的接口来管理 MySQL 实例集,并使您能够从一个中心工具中 provision、管理和监控您的部署。
要开始使用 InnoDB ReplicaSet,您需要下载和安装 MySQL Shell。您需要一些主机上安装了 MySQL 服务器实例安装,您也可以安装 MySQL Router。
InnoDB ReplicaSet 支持MySQL 克隆,它使您可以简单地 provision 实例。在过去,要将新实例添加到 MySQL 复制部署中,您需要手动传输事务到加入的实例。这可能涉及到文件复制、手动复制等。您可以简单地添加实例到 ReplicaSet,它将自动 provision。
类似地,InnoDB ReplicaSet 紧密集成了MySQL Router,您可以使用 AdminAPI 与它们一起工作。MySQL Router 可以根据 InnoDB ReplicaSet 自动配置自己,这个过程称为引导,从而消除了手动配置路由的需要。MySQL Router 然后将客户端应用程序透明地连接到 InnoDB ReplicaSet,提供路由和负载均衡。这种集成还使您能够使用 AdminAPI 管理一些方面的 MySQL Router,例如创建 MySQL Router 用户,以便与 InnoDB ReplicaSet 一起工作。
有关这些技术的更多信息,请参阅描述中的用户文档链接。除了这些用户文档外,还有开发者文档,涵盖了所有 AdminAPI 方法,在 MySQL Shell JavaScript API 参考或 MySQL Shell Python API 参考中,均可从 连接器和 API 中获取。