介绍 InnoDB Cluster 的已知限制。由于 InnoDB Cluster 使用 Group Replication,您还应该了解它的限制,请参阅 Group Replication Limitations。
重要的
由于元数据查询中的错误,MySQL Shell 8.0.27 无法用于管理运行 MySQL Server 8.0.25 的 InnoDB Cluster。要解决此问题,请先将 InnoDB Cluster 成员实例上的 MySQL Server 升级到 8.0.26 或 8.0.27 版本,然后再将 MySQL Shell 8.0.27 与集群一起使用。该问题将在 MySQL Shell 8.0.28 中修复。
InnoDB Cluster 不管理手动配置的异步复制通道。Group Replication 和 AdminAPI 不能确保异步复制仅在主节点上处于活动状态,并且状态不会跨实例复制。这可能导致复制不再起作用的各种情况,并可能导致脑裂。一个 InnoDB Cluster 和另一个 InnoDB Cluster 之间的复制仅受 InnoDB ClusterSet 支持,它可从 MySQL 8.0.27 获得,并管理从活动主读写 InnoDB Cluster 到多个只读副本集群的复制。有关该解决方案的信息,请参阅第 8 章,MySQL InnoDB ClusterSet。
InnoDB Cluster 旨在部署在局域网中。在广域网上部署单个 InnoDB Cluster 对写入性能有显着影响。稳定且低延迟的网络对于 InnoDB Cluster 成员服务器使用底层组复制技术相互通信以就事务达成共识非常重要。然而,InnoDB ClusterSet 设计为跨多个数据中心部署,每个 InnoDB Cluster 位于一个数据中心,异步复制通道将它们连接起来。有关该解决方案的信息,请参阅第 8 章,MySQL InnoDB ClusterSet。
对于 AdminAPI 操作,您只能使用 TCP/IP 连接和经典 MySQL 协议连接到 InnoDB Cluster 中的服务器实例。AdminAPI 操作不支持使用 Unix 套接字和命名管道,AdminAPI 操作不支持使用 X 协议。同样的限制也适用于服务器实例本身之间的连接。
笔记
客户端应用程序可以使用 X 协议和 Unix 套接字和命名管道连接到 InnoDB 集群中的实例。这些限制仅适用于使用 AdminAPI 命令的管理操作,以及实例之间的连接。
AdminAPI 和 InnoDB Cluster 支持使用运行 MySQL Server 5.7 的实例。但是,这些实例还有其他限制,并且描述的某些功能在您使用它们时不适用。 第 6.2.1 节,“使用运行 MySQL 5.7 的实例”列出了其他限制。
使用多主模式时,不支持针对同一对象但在不同服务器上发出的并发数据定义语句和数据操作语句。在对象上发布数据定义语言 (DDL) 语句期间,在同一对象上但来自不同服务器实例的并发数据操作语言 (DML) 存在未检测到在不同实例上执行的 DDL 冲突的风险。




