目录
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
存储引擎以及 MySQL Server 8.4 未提供的许多特定于 NDB 集群的程序;NDB
仅作为 MySQL NDB 集群发行版的一部分提供。此外,MySQL Server 8.4 提供的 MySQL 服务器二进制文件(mysqld)不能与 NDB 集群一起使用。有关 MySQL NDB 集群的更多信息,请参阅 MySQL NDB 集群 8.4。 使用 InnoDB 的 MySQL 服务器与 NDB 集群的比较 提供了有关 InnoDB
和 NDB
存储引擎之间区别的信息。