MySQL NDB Cluster 使用带有 NDB
存储引擎的 MySQL 服务器。 Oracle 构建的标准 MySQL Server 9.0 二进制文件中不包含对 NDB
存储引擎的支持。 相反,Oracle 的 NDB Cluster 二进制文件的用户应升级到最新版本的 NDB Cluster 二进制文件,这些二进制文件适用于受支持的平台,包括适用于大多数 Linux 发行版的 RPM 包。 从源代码构建 NDB Cluster 9.0 的用户应使用为 MySQL 9.0 提供的源代码并使用提供 NDB 支持所需的选项进行构建。(源代码获取位置将在本节后面列出。)
MySQL NDB Cluster 不支持 InnoDB Cluster,InnoDB Cluster 必须使用 MySQL Server InnoDB
存储引擎以及 NDB Cluster 发行版中未包含的其他应用程序进行部署。 MySQL Server 9.0 二进制文件不能与 MySQL NDB Cluster 一起使用。 有关部署和使用 InnoDB Cluster 的更多信息,请参阅 MySQL AdminAPI。 第 25.2.6 节“MySQL Server 使用 InnoDB 与 NDB Cluster 的比较”讨论了 NDB
和 InnoDB
存储引擎之间的差异。
支持的平台。 NDB Cluster 目前在许多平台上可用并得到支持。 有关特定操作系统版本、操作系统发行版和硬件平台组合的可用支持级别,请参阅 https://www.mysqlserver.cn/support/supportedplatforms/cluster.html。
可用性。 NDB Cluster 二进制文件和源代码包可从 https://dev.mysqlserver.cn/downloads/cluster/ 获取,适用于受支持的平台。
NDB Cluster 软件中使用的版本字符串。 与 MySQL NDB Cluster 发行版一起提供的 mysql 客户端显示的版本字符串使用以下格式
mysql-mysql_server_version-cluster
mysql_server_version
表示 NDB Cluster 版本所基于的 MySQL Server 版本。 从源代码使用 -DWITH_NDB
或等效选项进行构建会将 -cluster
后缀添加到版本字符串。(参见 第 25.3.1.4 节“在 Linux 上从源代码构建 NDB Cluster”和 第 25.3.2.2 节“在 Windows 上从源代码编译和安装 NDB Cluster”。)您可以在 mysql 客户端中看到此格式,如下所示
$> mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 9.0.0-cluster Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> SELECT VERSION()\G
*************************** 1. row ***************************
VERSION(): 9.0.0-cluster
1 row in set (0.00 sec)
其他 NDB Cluster 程序(通常不包含在 MySQL 9.0 发行版中)显示的版本字符串使用以下格式
mysql-mysql_server_version ndb-ndb_engine_version
mysql_server_version
表示 NDB Cluster 版本所基于的 MySQL Server 版本。 对于 NDB Cluster 9.0,它是 9.0.
,其中 n
n
是版本号。 ndb_engine_version
是此版本的 NDB Cluster 软件使用的 NDB
存储引擎的版本。 对于 NDB 9.0,此数字与 MySQL Server 版本相同。 您可以在 ndb_mgm 客户端中的 SHOW
命令的输出中看到此格式,如下所示
ndb_mgm> SHOW
Connected to Management Server at: localhost:1186 (using cleartext)
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=1 @10.0.10.6 (mysql-9.0.0 ndb-9.0.0, Nodegroup: 0, *)
id=2 @10.0.10.8 (mysql-9.0.0 ndb-9.0.0, Nodegroup: 0)
[ndb_mgmd(MGM)] 1 node(s)
id=3 @10.0.10.2 (mysql-9.0.0 ndb-9.0.0)
[mysqld(API)] 2 node(s)
id=4 @10.0.10.10 (mysql-9.0.0 ndb-9.0.0)
id=5 (not connected, accepting connect from any host)
与标准 MySQL 9.0 版本的兼容性。 虽然许多标准 MySQL 模式和应用程序可以使用 NDB Cluster 工作,但未修改的应用程序和数据库模式在使用 NDB Cluster 运行时可能略有不兼容或性能不佳(参见 第 25.2.7 节“NDB Cluster 的已知限制”)。 这些问题中的大多数都可以克服,但这同时也意味着您不太可能切换现有应用程序数据存储(当前使用的是例如 MyISAM
或 InnoDB
)以使用 NDB
存储引擎,而无需考虑模式、查询和应用程序可能发生的更改。 编译没有 NDB
支持的 mysqld(即,在构建时没有使用 -DWITH_NDB
或 -DWITH_NDBCLUSTER_STORAGE_ENGINE
)不能作为已构建有 NDB
支持的 mysqld 的直接替代品。
NDB Cluster 开发源代码树。 还可以从 https://github.com/mysql/mysql-server 访问 NDB Cluster 开发源代码树。
在 https://github.com/mysql/mysql-server 上维护的 NDB Cluster 开发源代码是在 GPL 许可下发布的。 有关使用 Git 获取 MySQL 源代码并自行构建它们的更多信息,请参见 第 2.8.5 节“使用开发源代码树安装 MySQL”。
与 MySQL Server 9.0 一样,NDB Cluster 9.0 版本使用 CMake 构建。
NDB Cluster 9.0 可作为创新版本使用,其中包含正在开发的新功能,旨在用于预览和测试。 NDB Cluster 8.4 是当前的 LTS 版本系列,建议用于新部署(参见 MySQL NDB Cluster 8.4)。 NDB Cluster 8.0、7.6 和 7.5 是以前仍在生产中受支持的 GA 版本,但我们建议将 NDB Cluster 8.4 用于打算在生产环境中使用的全新部署。
有关 NDB Cluster 的更多信息,请访问 MySQL 网站 https://www.mysqlserver.cn/products/cluster/。
其他资源。 您可以在以下位置找到有关 NDB Cluster 的更多信息
要了解有关 NDB Cluster 的一些常见问题的答案,请参见 第 A.10 节“MySQL 9.0 常见问题解答:NDB Cluster”。
NDB Cluster 论坛:https://forums.mysql.com/list.php?25。
许多 NDB Cluster 用户和开发人员都在博客中记录他们使用 NDB Cluster 的体验,并通过 PlanetMySQL 提供这些博客的订阅源。