MySQL 8.0参考手册/ innodb集群

第21章InnoDB集群

本章介绍了MySQL InnoDB集群,它结合了MySQL Technologies,使您能够为MySQL部署并管理完整的集成高可用性解决方案。此内容是InnoDB集群的高级概述,适用于完整的文档,请参阅10bet官方网站mysql innodb集群

重要的

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

InnoDB集群至少包含三个MySQL Server实例,它提供了高可用性和缩放功能。InnoDB集群使用以下MySQL技术:

  • mysql shell.,这是MySQL的高级客户端和代码编辑器。

  • mysql服务器,和组复制,这使一组MySQL实例能够提供高可用性。InnoDB Cluster提供了一种替代方案,易于使用的编程方式来使用组复制。

  • mysql路由器,轻量级中间件,可在应用程序和InnoDB集群之间提供透明路由。

下图显示了这些技术如何共同努力的概述:

图21.1 InnoDB集群概述

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

建立在mysql上组复制,提供自动成员管理,容错,自动故障转移等功能。InnoDB群集通常以单程模式运行,其中一个主实例(读写)和多个辅助实例(只读)。高级用户也可以利用amulti-primary模式,所有实例都是初选的。您甚至可以在InnoDB集群上在线更改群集中的拓扑,以确保最高的可用性。

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 Router透明地将客户端应用程序连接到InnoDB集群,为客户端连接提供路由和负载平衡。此集成还使您可以使用Adminapi管理对innodb集群引导的MySQL路由器的某些方面。InnoDB群集状态信息包括有关对群集引导的MySQL路由器的详细信息。操作使您能够创建MySQL路由器用户在群集级别,使用与群集引导的MySQL路由器一起使用,等等。

有关这些技术的详细信息,请参阅描述中链接的用户文档。10bet官方网站除了此用户文档外,MySQL Shell Java10bet官方网站Script API参考或MySQL Shell Python API参考的所有adminapi方法还有开发人员文档,可从中获取连接器和API.