目录
MySQL InnoDB 集群为 MySQL 提供了完整的高可用性解决方案。通过使用 MySQL Shell 中包含的 AdminAPI,您可以轻松地配置和管理至少三个 MySQL 服务器实例组,使其作为 InnoDB 集群运行。
InnoDB 集群中的每个 MySQL 服务器实例都运行 MySQL 组复制,它提供了在 InnoDB 集群内复制数据的机制,并内置了故障转移功能。AdminAPI 使您无需直接使用 InnoDB 集群中的组复制,但有关详细信息,请参阅 组复制,其中解释了详细信息。您还可以配置 InnoDB ClusterSet(请参阅 第 8 章,*MySQL InnoDB ClusterSet*),通过将主 InnoDB 集群与其自身的一个或多个副本链接到备用位置(例如不同的数据中心)来为 InnoDB 集群部署提供容灾能力。
MySQL Router 可以根据您部署的集群自动配置自身,将客户端应用程序透明地连接到服务器实例。如果服务器实例出现意外故障,集群会自动重新配置。在默认的单主模式下,InnoDB 集群具有单个读写服务器实例 - 主节点。多个辅助服务器实例是主节点的副本。如果主节点发生故障,辅助节点会自动提升为主节点。MySQL Router 会检测到这一点,并将客户端应用程序转发到新的主节点。高级用户还可以将集群配置为具有多个主节点。
下图概述了这些技术如何协同工作
InnoDB 集群不支持 MySQL NDB 集群。NDB 集群依赖于 NDB
存储引擎以及许多特定于 NDB 集群的程序,而 MySQL Server 9.0 中没有提供这些程序;NDB
仅作为 MySQL NDB 集群发行版的一部分提供。此外,MySQL Server 9.0 附带的 MySQL 服务器二进制文件(mysqld)不能与 NDB 集群一起使用。有关 MySQL NDB 集群的更多信息,请参阅 MySQL NDB 集群 9.0。 使用 InnoDB 的 MySQL 服务器与 NDB 集群的比较 提供了有关 InnoDB
和 NDB
存储引擎之间差异的信息。