MySQL 8.0参考手册/ InnoDB集群

第21章InnoDB集群

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

重要的

InnoDB集群不支持MySQL NDB集群。有关MySQL NDB集群的更多信息,请参见第23章,MySQL NDB集群8.0第23.1.6节“MySQL服务器使用InnoDB与NDB集群的比较”

InnoDB集群由至少三个MySQL服务器实例组成,它提供了高可用性和扩展特性。InnoDB集群使用了以下MySQL技术:

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

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

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

下面的图表显示了这些技术如何一起工作的概述:

图21.1 InnoDB集群概述

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

建立在MySQL之上组复制,提供了自动成员管理、容错、自动故障转移等特性。InnoDB集群通常以单主模式运行,有一个主实例(读写)和多个从实例(只读)。高级用户也可以利用a多基础模式,其中所有实例都是主用的。当InnoDB集群处于在线状态时,您甚至可以更改集群的拓扑结构,以确保尽可能高的可用性。

使用使用innodb集群使用AdminAPI,作为MySQL Shell的一部分提供。Adminapi可用于JavaScript和Python,非常适合MySQL部署的脚本和自动化,以实现高可用性和可扩展性。通过使用MySQL shell的adminapi,您可以避免手动配置许多实例。相反,Adminapi为MySQL实例组提供了有效的现代接口,并使您能够从一个中央工具提供,管理和监视部署。

要开始使用innodb群集,您需要下载安装mysql shell。您需要带有MySQL Server实例的一些主机安装了,你也可以安装MySQL路由器。

InnoDB集群支持MySQL克隆,这使您能够简单地供应实例。在过去,要在新实例加入一组MySQL实例之前提供它,您需要以某种方式手动将事务转移到加入的实例。这可能涉及制作文件副本,手动复制它们,等等。使用InnoDB集群,您可以简单地添加一个实例到群集中,它会自动配置。

类似地,InnoDB集群与MySQL路由器,您可以使用AdminAPI来合作他们在一起。MySQL Router可以根据InnoDB集群自动配置自动配置,在一个调用的过程中引导,这样就不需要手动配置路由。MySQL路由器透明地将客户端应用程序连接到InnoDB集群,为客户端连接提供路由和负载平衡。这个集成还允许您使用AdminAPI管理InnoDB集群引导的MySQL路由器的某些方面。InnoDB集群状态信息包括在集群上引导的MySQL路由器的详细信息。操作使您可以创建MySQL路由器用户在集群级别,使用针对集群引导的MySQL路由器,等等。

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