MySQL NDB Cluster 使用带有 NDB
存储引擎的 MySQL 服务器。Oracle 构建的标准 MySQL Server 8.4 二进制文件中不包含对 NDB
存储引擎的支持。相反,Oracle 提供的 NDB Cluster 二进制文件用户应升级到最新版本的 NDB Cluster 二进制文件(支持的平台包含与大多数 Linux 发行版兼容的 RPM)。从源代码构建 NDB Cluster 8.4 的用户应使用为 MySQL 8.4 提供的源代码,并使用提供 NDB 支持所需的选项进行构建。(源代码获取位置将在本节后面列出。)
MySQL NDB Cluster 不支持 InnoDB Cluster,InnoDB Cluster 必须使用 MySQL Server InnoDB
存储引擎以及 NDB Cluster 发行版中未包含的其他应用程序进行部署。MySQL Server 8.4 二进制文件无法与 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
代表 MySQL 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: 8.4.0-cluster Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> SELECT VERSION()\G
*************************** 1. row ***************************
VERSION(): 8.4.0-cluster
1 row in set (0.00 sec)
由其他 NDB Cluster 程序(通常不包含在 MySQL 8.4 发行版中)显示的版本字符串使用以下格式
mysql-mysql_server_version ndb-ndb_engine_version
mysql_server_version
代表 MySQL NDB Cluster 发行版所基于的 MySQL Server 版本。对于 NDB Cluster 8.4,这是 8.4.
,其中 n
n
是发行版号。 ndb_engine_version
是此 NDB Cluster 软件发行版使用的 NDB
存储引擎的版本。对于 NDB 8.4,此数字与 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-8.4.0 ndb-8.4.0, Nodegroup: 0, *)
id=2 @10.0.10.8 (mysql-8.4.0 ndb-8.4.0, Nodegroup: 0)
[ndb_mgmd(MGM)] 1 node(s)
id=3 @10.0.10.2 (mysql-8.4.0 ndb-8.4.0)
[mysqld(API)] 2 node(s)
id=4 @10.0.10.10 (mysql-8.4.0 ndb-8.4.0)
id=5 (not connected, accepting connect from any host)
与标准 MySQL 8.4 发行版的兼容性。 虽然许多标准 MySQL 架构和应用程序可以使用 NDB Cluster,但未经修改的应用程序和数据库架构在使用 NDB Cluster 时可能存在轻微的兼容性问题或性能不佳(请参阅 第 25.2.7 节 “NDB Cluster 的已知限制”)。大多数问题都可以克服,但这意味着您不太可能将现有的应用程序数据存储(当前使用的是 MyISAM
或 InnoDB
等)切换到使用 NDB
存储引擎,而不允许在架构、查询和应用程序中进行更改。未编译 NDB
支持的 mysqld(即未使用 -DWITH_NDB
或 -DWITH_NDBCLUSTER_STORAGE_ENGINE
构建的)不能充当使用它的 mysqld 的直接替换。
NDB Cluster 开发源代码树。 NDB Cluster 开发树也可以从 https://github.com/mysql/mysql-server 访问。
维护在 https://github.com/mysql/mysql-server 的 NDB Cluster 开发源代码采用 GPL 许可。有关使用 Git 获取 MySQL 源代码并自行构建的信息,请参阅 第 2.8.5 节 “使用开发源代码树安装 MySQL”。
与 MySQL Server 8.4 一样,NDB Cluster 8.4 发行版使用 CMake 构建。
NDB Cluster 8.4 可作为 LTS 发行版,建议用于新部署。NDB Cluster 8.0 是上一个 GA 发行版系列(请参阅 MySQL NDB Cluster 8.0),仍在生产中得到支持。NDB Cluster 7.6 和 7.5 是更早的 GA 发行版,仍在生产中得到支持,但我们建议将 NDB Cluster 8.4 用于打算在生产中使用的全新部署。
NDB Cluster 7.4 和 7.3 是之前的 GA 发行版,现已停产;它们不再得到维护或支持。
有关 NDB Cluster 的更多信息,请访问 MySQL 网站上的 https://www.mysqlserver.cn/products/cluster/。
其他资源。 您可以在以下位置找到有关 NDB Cluster 的更多信息
有关一些有关 NDB Cluster 的常见问题的解答,请参阅 第 A.10 节 “MySQL 8.4 常见问题解答:NDB Cluster”。
NDB Cluster 论坛:https://forums.mysql.com/list.php?25。
许多 NDB Cluster 用户和开发人员在博客中分享了他们使用 NDB Cluster 的经验,并通过 PlanetMySQL 提供了这些博客的订阅源。