MySQL NDB Cluster 使用 MySQL 服务器与 NDB
存储引擎。 Oracle 不在标准 MySQL Server 8.3 二进制文件中包含对 NDB
存储引擎的支持。相反,Oracle 的 NDB Cluster 二进制文件用户应该升级到最新的 NDB Cluster 二进制版本,以支持的平台—这些包括大多数 Linux 发行版的 RPM。从源代码构建 NDB Cluster 8.3 的用户应该使用 MySQL 8.3 的源代码,并使用提供 NDB 支持所需的选项构建。(可以在本节后面找到源代码的获取位置。)
MySQL NDB Cluster 不支持 InnoDB Cluster,必须使用 MySQL 服务器 InnoDB
存储引擎以及不包括在 NDB Cluster 发行版中的其他应用程序。MySQL Server 8.3 二进制文件不能与 MySQL NDB Cluster 一起使用。有关部署和使用 InnoDB Cluster 的更多信息,请参阅 MySQL AdminAPI。第 25.2.6 节,“使用 InnoDB 的 MySQL 服务器与 NDB Cluster 的比较”,讨论了 NDB
和 InnoDB
存储引擎之间的差异。
支持的平台 NDB Cluster 目前在多个平台上可用并受支持。有关特定操作系统版本、操作系统发行版和硬件平台的确切支持级别,请参阅 https://www.mysql.com/support/supportedplatforms/cluster.html。
可用性 NDB Cluster 二进制和源代码包可从 https://dev.mysql.com/downloads/cluster/ 获取。
NDB Cluster 版本号 NDB 8.1 是一个创新版本。在本手册和其他 MySQL 文档中,我们有时使用版本号 “8.1.0” 来标识此版本。该版本号是 NDBCLUSTER
存储引擎的版本号,用于 NDB 8.1 版本的基础 MySQL 服务器版本。
NDB Cluster 软件中的版本字符串 由 MySQL NDB Cluster 发行版提供的 mysql 客户端使用以下格式:
mysql-mysql_server_version-cluster
mysql_server_version
代表 NDB Cluster 版本所基于的 MySQL 服务器版本。对于所有 NDB Cluster 8.1 版本,这是 8.1.0
使用 -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.1.0-cluster Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> SELECT VERSION()\G
*************************** 1. row ***************************
VERSION(): 8.1.0-cluster
1 row in set (0.00 sec)
NDB Cluster 程序的版本字符串使用以下格式:
mysql-mysql_server_version ndb-ndb_engine_version
mysql_server_version
代表 NDB Cluster 版本所基于的 MySQL 服务器版本。对于 NDB Cluster 8.1 版本,这是 8.1.0
,其中 n
是版本号。ndb_engine_version
是 NDB Cluster 软件使用的 NDB
存储引擎的版本号。对于 NDB 8.1,这个数字与 MySQL 服务器版本相同。您可以在 SHOW
命令的 ndb_mgm 客户端的输出中看到这种格式,如下所示:
ndb_mgm> SHOW
Connected to Management Server at: localhost:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=1 @10.0.10.6 (mysql-8.1.0 ndb-8.1.0, Nodegroup: 0, *)
id=2 @10.0.10.8 (mysql-8.1.0 ndb-8.1.0, Nodegroup: 0)
[ndb_mgmd(MGM)] 1 node(s)
id=3 @10.0.10.2 (mysql-8.1.0 ndb-8.1.0)
[mysqld(API)] 2 node(s)
id=4 @10.0.10.10 (mysql-8.1.0 ndb-8.1.0)
id=5 (not connected, accepting connect from any host)
与标准MySQL 8.3版本的兼容性。 虽然许多标准MySQL架构和应用程序可以使用NDB Cluster,但未经修改的应用程序和数据库架构可能与NDB Cluster不完全兼容或性能不佳(见第25.2.7节,“NDB Cluster的已知限制”)。大多数这些问题可以克服,但这也意味着您不太可能将现有的应用程序数据存储—当前使用,例如MyISAM
或InnoDB
—切换到使用NDB
存储引擎,而不需要对架构、查询和应用程序进行更改。没有mysqld支持NDB(即,未使用-DWITH_NDB
或-DWITH_NDBCLUSTER_STORAGE_ENGINE
)无法作为mysqld的drop-in replacement。
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.3一样,NDB Cluster 8.3版本使用CMake构建。
NDB Cluster 8.3作为创新版本发布,具有新的功能,旨在预览和测试。NDB Cluster 8.0是当前的GA版本系列,建议用于新部署(见MySQL NDB Cluster 8.0)。NDB Cluster 7.6和7.5是之前的GA版本,仍在生产中支持;有关NDB Cluster 7.6的信息,请参阅NDB Cluster 7.6中的新功能。有关NDB Cluster 7.5的信息,请参阅NDB Cluster 7.5中的新功能。NDB Cluster 7.4和7.3是之前的GA版本,已不再维护或支持。我们建议使用MySQL NDB Cluster 8.0进行任何新的生产部署。
本章的内容可能会根据NDB Cluster的发展而进行修订。有关NDB Cluster的更多信息可以在MySQL网站上找到:http://www.mysql.com/products/cluster/。
其他资源。 有关NDB Cluster的更多信息可以在以下位置找到:
-
有关NDB Cluster常见问题的答案,请参阅第A.10节,“MySQL 8.3 FAQ: NDB Cluster”。
-
NDB Cluster论坛:https://forums.mysql.com/list.php?25。
-
许多NDB Cluster用户和开发者在博客中分享了他们与NDB Cluster的经验,并通过PlanetMySQL提供了这些博客的Feed。