MySQL 5.7参考手册/ InnoDB集群

第20章InnoDB集群

本章介绍MySQL InnoDB集群,它结合了MySQL技术,使您能够部署和管理一个完整的集成的MySQL高可用性解决方案。本内容是对InnoDB集群的高级概述,完整的文档请参见10bet官方网站MySQL InnoDB集群

重要的

InnoDB集群不支持MySQL NDB集群。有关MySQL NDB集群的更多信息,请参见21章,MySQL NDB集群7.5和NDB集群7.6而且第21.1.6节,MySQL服务器使用InnoDB与NDB集群的比较

一个InnoDB集群至少由三个MySQL Server实例组成,它提供了高可用性和可伸缩性特性。InnoDB集群采用了以下MySQL技术:

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

  • MySQL服务器和组复制,它支持一组MySQL实例来提供高可用性。InnoDB集群提供了一种易于使用的编程方式来处理组复制。

  • MySQL路由器,一个轻量级的中间件,在你的应用程序和InnoDB集群之间提供透明的路由。

下图概述了这些技术是如何协同工作的:

图20.1 InnoDB Cluster概述

三台MySQL服务器组成一个高可用性集群。其中一个服务器是读/写的主实例,另外两个是只读的辅助实例。组复制用于将数据从主实例复制到从实例。MySQL路由器将客户端应用程序(在本例中为MySQL连接器)连接到主实例。

建立在MySQL上组复制,提供了自动成员管理、容错、自动故障转移等功能。InnoDB集群通常以单主模式运行,有一个主实例(读写)和多个从实例(只读)。高级用户也可以利用multi-primary模式,其中所有实例都是主实例。

InnoDB集群使用AdminAPI,作为MySQL Shell的一部分提供。AdminAPI可以在JavaScript和Python中使用,非常适合编写脚本和自动化部署MySQL,以实现高可用性和可伸缩性。通过使用MySQL Shell的AdminAPI,您可以避免手动配置许多实例。相反,AdminAPI为MySQL实例集提供了一个有效的现代接口,使您能够从一个中心工具配置、管理和监视部署。

要开始使用InnoDB集群,你需要下载而且安装MySQL壳。你需要一些带有MySQL服务器实例的主机安装,你也可以安装MySQL路由器。

InnoDB集群支持MySQL克隆,使您可以简单地提供实例。在过去,要在一个新实例连接一组MySQL实例之前提供它,您需要以某种方式手动将事务传输到连接实例。这可能涉及到制作文件副本、手动复制文件等等。使用InnoDB集群,你可以简单地添加实例到集群,并自动提供。

类似地,InnoDB集群与MySQL路由器,您可以使用AdminAPI来一起工作他们在一起。MySQL路由器可以基于InnoDB集群自动配置自己,这个过程叫做引导,这样就不需要手动配置路由了。然后,MySQL路由器透明地将客户端应用程序连接到InnoDB集群,为客户端连接提供路由和负载均衡。这种集成还允许你使用AdminAPI管理基于InnoDB集群的MySQL路由器的某些方面。InnoDB集群状态信息包括MySQL路由器的详细信息。通过操作,您可以创建MySQL路由器用户在集群级别,使用MySQL路由器引导到集群,等等。

AdminAPI与运行MySQL 5.7的实例兼容,但是减少了特性集。有关更多信息,请参见使用实例运行MySQL 5.7.为了使用AdminAPI和InnoDB集群的最佳体验升级MySQL 8.0。

有关这些技术的更多信息,请参阅描述中链接的用户文档。10bet官方网站除了这个用户文档,在MySQL Shell Jav10bet官方网站aScript API参考或MySQL Shell Python API参考中有所有AdminAPI方法的开发人员文档,可以从连接器和api