MySQL NDB Cluster是适用于分布式计算环境的MySQL的高可用性,高冗余版本。最新的NDB群集发行系列使用NDB存储引擎的版本8 (也称为 NDBCLUSTER)来使多台计算机与群集中的MySQL服务器和其他软件一起运行。NDB Cluster 8.0(现已从版本8.0.19开始以通用版本(GA)发行)提供了8.0版的 NDB存储引擎。GA发行版仍提供NDB Cluster 7.6和NDB Cluster 7.5 NDB,分别使用的7.6和7.5版本。NDB Cluster 7.4和NDB Cluster 7.3仍可用于生产中的以前的GA版本NDB版本7.4和7.3。NDB 7.2和更早的发行系列不再受支持或维护。
NDBOracle构建的标准MySQL Server 8.0二进制文件中不包含 对存储引擎的支持。相反,Oracle的NDB Cluster二进制文件的用户应升级到适用于受支持平台的NDB Cluster的最新二进制版本-其中包括应与大多数Linux发行版一起使用的RPM。从源构建的NDB Cluster 8.0用户应使用为MySQL 8.0提供的源,并使用提供NDB支持所需的选项进行构建。(可以在此处获取源的位置在本节的后面列出。)
重要
MySQL NDB群集不支持InnoDB群集,该群集必须使用带有InnoDB存储引擎的MySQL Server 8.0 以及NDB Cluster发行版中未包含的其他应用程序进行部署 。MySQL Server 8.0二进制文件不能与MySQL NDB Cluster一起使用。
您可以在mysql客户端中看到:
shell> mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 8.0.20-cluster Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> SELECT VERSION()\G
*************************** 1. row ***************************
VERSION(): 8.0.20-cluster
1 row in set (0.00 sec)
使用MySQL 8.0的NDB Cluster的第一个通用版本是使用MySQL 8.0.19的NDB 8.0.19。
通常不包含在MySQL 8.0发行版中的其他NDB Cluster程序显示的版本字符串使用以下格式:
mysql-mysql_server_version ndb-ndb_engine_version
mysql_server_version表示NDB群集版本所基于的MySQL Server的版本。对于所有NDB Cluster 8.0版本,这是 ,其中8.0.nnn 是版本号。 db_engine_version是此版本的NDB Cluster软件使用的存储引擎的版本 。对于所有NDB 8.0版本,此数字与MySQL Server版本相同。您可以在ndb_mgm客户端的命令 输出中看到这种格式,如下所示:
SHOW
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.0.22 ndb-8.0.20, Nodegroup: 0, *)
id=2 @10.0.10.8 (mysql-8.0.22 ndb-8.0.20, Nodegroup: 0)
[ndb_mgmd(MGM)] 1 node(s)
id=3 @10.0.10.2 (mysql-8.0.22 ndb-8.0.20)
[mysqld(API)] 2 node(s)
id=4 @10.0.10.10 (mysql-8.0.22 ndb-8.0.20)
id=5 (not connected, accepting connect from any host)
与标准MySQL 8.0版本的兼容性。 尽管许多标准的MySQL模式和应用程序都可以使用NDB Cluster运行,但是使用NDB Cluster运行时,未修改的应用程序和数据库模式可能会有些不兼容或性能不理想(请参见 第22.1.7节“ NDB Cluster的已知限制”))。所有这些问题都可以解决,但这也意味着您不太可能在不考虑更改架构可能性的情况下切换现有的应用程序数据存储(例如当前使用MyISAM 或)InnoDB以使用 NDB存储引擎。 ,查询和应用程序。一个没有编译 的mysqldNDB支持(即,构建时不带 -DWITH_NDBCLUSTER_STORAGE_ENGINE其别名-DWITH_NDBCLUSTER)不能代替使用它构建的mysqld。