第 21 章 MySQL NDB Cluster 7.5 和 NDB Cluster 7.6

目录

MySQL NDB Cluster 是适用于分布式计算环境的 MySQL 的 high-availability,high-redundancy version。最近的 NDB Cluster 发布系列使用了导航台存储引擎的 version 7(也称为NDBCLUSTER),以便在 cluster 中运行带有 MySQL 服务器和其他软件的多台计算机。 NDB Cluster 7.6,现在作为以 version 7.6.6 开头的通用可用性(GA)版本提供,它包含了NDB存储引擎的 version 7.6. NDB Cluster 7.5 仍然作为 GA 版本提供,使用 version 7.5 of NDB。以前的 GA 版本仍然可用于 production,NDB Cluster 7.3 和 NDB Cluster 7.4,分别包含NDB版本 7.3 和 7.4. NDB Cluster 7.2,它使用NDB存储引擎的 version 7.2,是以前仍在维护的 GA 版本; 7.2 鼓励用户升级到 NDB 7.5 或 NDB 7.6.

Oracle 构建的标准 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 发行版中未包含的其他 applications 进行部署。 MySQL Server 5.7 二进制文件不能与 MySQL NDB Cluster 一起使用。有关部署和使用 InnoDB cluster 的更多信息,请参阅第 20 章,InnoDB Cluster第 21.1.6 节,“使用 InnoDB 的 MySQL 服务器与 NDB Cluster 相比”,讨论了NDBInnoDB存储引擎之间的差异。
本章包含有关通过 5.7.28-ndb-7.5.16 发布的 NDB Cluster 7.5 和通过 5.7.28-ndb-7.6.12 发布的 NDB Cluster 7.6 的信息,这两个版本现在都是 production 支持的通用可用性(GA)版本。 NDB Cluster 7.6 推荐用于新部署;有关 NDB Cluster 7.6 的信息,请参阅第 21.1.4.2 节,“NDB 中的新功能 Cluster 7.6”。有关 NDB Cluster 7.5 的类似信息,请参阅第 21.1.4.1 节,“NDB 中的新功能 Cluster 7.5”。 NDB Cluster 7.4 和 7.3 是 production 中仍然支持的以前的 GA 版本;见MySQL NDB Cluster 7.3 和 NDB Cluster 7.4。 NDB Cluster 7.2 是之前的 GA 版本系列,仍然保留,但我们建议 production 的新部署使用 NDB Cluster 7.6. 有关 NDB Cluster 7.2 的详细信息,请参阅MySQL NDB Cluster 7.2

NDB Cluster 8.0 现在可用作开发人员预览版本,用于 evaluation 和测试NDBCLUSTER存储引擎中的新 features;有关更多信息,请参阅MySQL NDB Cluster 8.0

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

可用性. NDB Cluster 二进制和源包可用于https://dev.mysql.com/downloads/cluster/支持的平台。

NDB Cluster 发布 numbers. NDB Cluster 遵循与主线 MySQL Server 5.7 系列发行版稍有不同的发布 pattern。在本手册和其他 MySQL 文档中,我们使用以“NDB”开头的 version number 来识别这些以及后来的 NDB Cluster 版本。这个 version number 是发行版中使用的NDBCLUSTER存储引擎的编号,而不是 NDB Cluster 版本所基于的 MySQL 服务器 version。


在 NDB Cluster 软件中使用的版本 strings. NDB Cluster 程序显示的 version string 使用以下格式:

mysql-mysql_server_version-ndb-ndb_engine_version

mysql_server_version表示 NDB Cluster 发行版所基于的 MySQL 服务器的 version。对于所有 NDB Cluster 7.5 和 NDB Cluster 7.6 版本,这是“5.7”。 ndb_engine_version是此版本的 NDB Cluster 软件使用的导航台存储引擎的 version。您可以在MySQL client 中看到此格式,如下所示:

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

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

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

此 version string 也显示在ndb_mgm client 的SHOW命令的输出中:

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.28-ndb-7.5.16, Nodegroup: 0, *)
id=2    @10.0.10.8  (5.7.28-ndb-7.5.16, Nodegroup: 0)

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

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

version string 标识了 NDB Cluster 版本分支的主线 MySQL version 以及导航台存储引擎的 version。对于 example,NDB 7.5.4(第一个 NDB 7.5 GA 版本)的完整 version string 是mysql-5.7.16-ndb-7.5.4。由此我们可以确定以下内容:

  • 由于-ndb-之前 version string 的部分是基本 MySQL 服务器 version,这意味着 NDB 7.5.4 派生自 MySQL 5.7.16,并包含所有 feature 增强功能和 MySQL 5.7 的错误修复,包括 MySQL 5.7.16.

  • 由于-ndb-之后 version string 的部分表示导航台(或NDBCLUSTER)存储引擎的 version number,因此 NDB 7.5.4 使用NDBCLUSTER存储引擎的 version 7.5.4.

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

**与标准 MySQL 5.7 版本的兼容性.**虽然许多标准的 MySQL 模式和应用程序可以使用 NDB Cluster,但是当 run 使用 NDB Cluster 时,未经修改的 applications 和数据库模式可能会略微不兼容或具有次优的 performance(请参阅第 21.1.7 节,“NDB Cluster 的已知局限” )。大多数这些问题都可以克服,但这也意味着您不太可能切换现有的 application 数据存储区 - 当前使用例如MyISAM 数据InnoDB - 使用导航台存储引擎而不允许模式,查询和 applications 中的更改。另外,MySQL 服务器和 NDB Cluster 代码库差异很大,因此标准mysqld不能替换为 NDB Cluster 提供的mysqld的 version。

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

维持在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 7.5 和 NDB Cluster 7.6 可用作一般可用性(GA)版本;建议将 NDB 7.6 用于新部署。 NDB Cluster 7.4 和 NDB Cluster 7.3 是之前的 GA 版本,在 production 中仍然受支持。 NDB 7.2 是以前的 GA 版本系列,仍然保留;不再建议用于新部署。有关在 NDB 7.6 中添加的主要 features 的概述,请参阅第 21.1.4.2 节,“NDB 中的新功能 Cluster 7.6”。有关 NDB Cluster 7.5 的类似信息,请参阅第 21.1.4.1 节,“NDB 中的新功能 Cluster 7.5”。有关以前的 NDB Cluster 版本的信息,请参阅MySQL NDB Cluster 7.3 和 NDB Cluster 7.4MySQL NDB Cluster 7.2

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

**其他资源.**有关 NDB Cluster 的更多信息,请访问以下位置:

Updated at: 9 months ago
已知限制Table of contentNDB Cluster 概述