21.1 一般信息

MySQL NDB Cluster 使用带有 NDB存储引擎的 MySQL 服务器。NDBOracle 构建的标准 MySQL Server 5.7 二进制文件中不包含对存储引擎的支持 。相反,来自 Oracle 的 NDB Cluster 二进制文件的用户应该升级到支持平台的 NDB Cluster 的最新二进制版本——这些包括应该适用于大多数 Linux 发行版的 RPM。从源构建的 NDB Cluster 用户应该使用为 NDB Cluster 提供的源。(可以获取资源的位置在本节后面列出。)

重要的

MySQL NDB Cluster 不支持 InnoDB Cluster,它必须使用带有 InnoDB存储引擎的 MySQL Server 5.7 以及 NDB Cluster 发行版中未包含的其他应用程序进行部署。MySQL Server 5.7 二进制文件不能与 MySQL NDB Cluster 一起使用。有关部署和使用 InnoDB Cluster 的更多信息,请参阅MySQL AdminAPI第 21.2.6 节,“使用 InnoDB 的 MySQL 服务器与 NDB Cluster 相比”NDB ,讨论了和InnoDB 存储引擎 之间的差异。

支持的平台。  NDB Cluster 目前在许多平台上可用并受支持。有关操作系统版本、操作系统发行版和硬件平台的特定组合的确切支持级别,请参阅 https://www.mysql.com/support/supportedplatforms/cluster.html

可用性。  NDB Cluster 二进制文件和源包可从https://mysql.net.cn/downloads/cluster/获得支持的平台。

NDB Cluster 版本号。  NDB Cluster 遵循与主线 MySQL Server 5.7 系列版本略有不同的发布模式。在本 手册和其他 MySQL 文档中,我们使用以NDB开头的版本号来标识这些和以后的 NDB Cluster 版本。此版本号是版本中NDBCLUSTER使用的存储引擎的版本号,而不是 NDB Cluster 版本所基于的 MySQL 服务器版本号。

NDB Cluster 软件中使用的版本字符串。  NDB Cluster 程序显示的版本字符串使用以下格式:

mysql-mysql_server_version-ndb-ndb_engine_version

mysql_server_version表示 NDB Cluster 版本所基于的 MySQL 服务器的版本。对于所有 NDB Cluster 7.5 和 NDB Cluster 7.6 版本,这是 5.7ndb_engine_version是此版本NDB的 NDB Cluster 软件使用的存储引擎版本。您可以看到在mysql客户端中使用的这种格式,如下所示:

$> mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.40-ndb-7.5.29 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> SELECT VERSION()\G
*************************** 1. row ***************************
VERSION(): 5.7.40-ndb-7.5.29
1 row in set (0.00 sec)

此版本字符串也显示在 ndb_mgmSHOW客户端命令的输出中 :

ndb_mgm> SHOW
Connected to Management Server at: localhost:1186
Cluster Configuration
---------------------
[ndbd(NDB)]     2 node(s)
id=1    @10.0.10.6  (5.7.40-ndb-7.5.29, Nodegroup: 0, *)
id=2    @10.0.10.8  (5.7.40-ndb-7.5.29, Nodegroup: 0)

[ndb_mgmd(MGM)] 1 node(s)
id=3    @10.0.10.2  (5.7.40-ndb-7.5.29)

[mysqld(API)]   2 node(s)
id=4    @10.0.10.10  (5.7.40-ndb-7.5.29)
id=5 (not connected, accepting connect from any host)

版本字符串标识 NDB Cluster 版本分支的主线 MySQL 版本以及使用的 NDB存储引擎版本。例如,NDB 7.5.4(第一个 NDB 7.5 GA 版本)的完整版本字符串是mysql-5.7.16-ndb-7.5.4. 由此我们可以确定以下几点:

  • 由于前面的版本字符串部分 -ndb-是基本的 MySQL 服务器版本,这意味着 NDB 7.5.4 派生自 MySQL 5.7.16,并且包含从 MySQL 5.7 到 MySQL 5.7.16 的所有功能增强和错误修复。

  • 由于后面的版本字符串部分 表示(或 )存储引擎-ndb-的版本号,因此 NDB 7.5.4 使用 存储引擎的版本 7.5.4。 NDBNDBCLUSTERNDBCLUSTER

新的 NDB Cluster 版本根据 NDB存储引擎中的更新进行编号,并且不一定与主线 MySQL Server 版本一一对应。例如,NDB 7.5.4(如前所述)基于 MySQL 5.7.16,而 NDB 7.5.3 基于 MySQL 5.7.13(版本字符串:)mysql-5.7.13-ndb-7.5.3

与标准 MySQL 5.7 版本的兼容性。  虽然许多标准的 MySQL 模式和应用程序可以使用 NDB Cluster 工作,但未经修改的应用程序和数据库模式在使用 NDB Cluster 运行时可能会稍微不兼容或性能不佳(请参阅 第 21.2.7 节,“NDB Cluster 的已知限制”) ). 大多数这些问题都可以克服,但这也意味着您不太可能能够切换现有的应用程序数据存储——例如,当前使用的,MyISAMInnoDB——使用 NDB存储引擎,不允许更改模式、查询和应用程序。此外,MySQL 服务器和 NDB Cluster 代码库有很大差异,因此标准 mysqld不能作为NDB Cluster 提供 的mysqld版本的替代品。

NDB Cluster 开发源代码树。  NDB Cluster 开发树也可以从 https://github.com/mysql/mysql-server访问。

在https://github.com/mysql/mysql-server 维护的 NDB Cluster 开发源 是根据 GPL 许可的。有关使用 Git 获取 MySQL 源代码并自行构建它们的信息,请参阅 第 2.9.5 节,“使用开发源代码树安装 MySQL”

笔记

与 MySQL Server 5.7 一样,NDB Cluster 7.5 和 NDB Cluster 7.6 版本是使用CMake构建的。

NDB Cluster 8.0 从 NDB 8.0.19 开始作为一般可用性版本提供,建议用于新部署;有关更多信息,请参阅 NDB Cluster 中的新增功能。NDB Cluster 7.6 和 7.5 是以前的 GA 版本,在生产中仍然受支持。NDB Cluster 7.4 和 7.3 是以前的 GA 版本,在生产中仍然支持,尽管我们建议新的生产部署使用 NDB Cluster 8.0;请参阅 MySQL NDB Cluster 7.3 和 NDB Cluster 7.4

随着 NDB Cluster 的不断发展,本章的内容可能会进行修订。有关 NDB Cluster 的其他信息可以在 MySQL 网站 http://www.mysql.com/products/cluster/上找到。

其他资源。  可以在以下位置找到有关 NDB Cluster 的更多信息: