本节提供有关在 Linux 和其他类 Unix 平台上编译 NDB Cluster 的信息。从源代码构建 NDB Cluster 类似于构建标准的 MySQL 服务器,尽管它在此处讨论的几个关键方面有所不同。有关从源代码构建 MySQL 的一般信息,请参阅 第 2.9 节,“从源代码安装 MySQL”。有关在 Windows 平台上编译 NDB Cluster 的信息,请参阅 第 21.3.2.2 节,“在 Windows 上从源代码编译和安装 NDB Cluster”。
构建 NDB Cluster 需要使用 NDB Cluster 源。这些可以从
https://mysql.net.cn/downloads/cluster/的 NDB Cluster 下载页面获得。存档的源文件的名称应类似于
mysql-cluster-gpl-7.6.24.tar.gz
. 您还可以从 GitHub 获取 NDB Cluster 源代码,
网址为https://github.com/mysql/mysql-server/tree/cluster-7.5
(NDB 7.5) 和
https://github.com/mysql/mysql-server/tree/ cluster-7.6
(NDB 7.6)。不支持从标准 MySQL Server 5.7 源构建 NDB Cluster 7.5 或 7.6。
CMake
的WITH_NDBCLUSTER_STORAGE_ENGINE
选项导致管理节点、数据节点和其他 NDB Cluster 程序的二进制文件被构建;它还使mysqld编译时带有存储引擎支持。构建 NDB Cluster 时需要
此选项(或其别名
)。NDB
WITH_NDBCLUSTER
WITH_NDB_JAVA
默认情况下启用
该选项。这意味着,默认情况下,如果
CMake无法在您的系统上找到 Java 的位置,配置过程将失败;如果您不希望启用 Java 和 ClusterJ 支持,则必须通过使用
-DWITH_NDB_JAVA=OFF
. 如果
WITH_CLASSPATH
需要,用于提供 Java 类路径。
有关特定于构建 NDB Cluster 的 CMake选项的 更多信息,请参阅用于编译 NDB Cluster 的 CMake 选项。
运行make && make install(或您的系统的等效程序)后,结果类似于将预编译的二进制文件解压缩到同一位置所获得的结果。
管理节点。
从源代码构建并运行默认的
make install时,管理服务器和管理客户端二进制文件(ndb_mgmd和
ndb_mgm)可以在
/usr/local/mysql/bin
. 管理节点主机上只
需要ndb_mgmd ;然而,在同一台主机上安装ndb_mgm也是一个好主意
。这些可执行文件都不需要主机文件系统上的特定位置。
数据节点。
数据节点主机上唯一需要的可执行文件是数据节点二进制文件ndbd或
ndbmtd。(例如, mysqld不必存在于主机上。)默认情况下,从源代码构建时,此文件位于目录中/usr/local/mysql/bin
。对于在多个数据节点主机上安装,仅
ndbd或ndbmtd需要复制到其他主机或机器。(这假设所有数据节点主机都使用相同的体系结构和操作系统;否则您可能需要为每个不同的平台单独编译。)数据节点二进制文件不需要位于主机文件系统上的任何特定位置,只要位置已知。
从源代码编译 NDB Cluster 时,构建多线程数据节点二进制文件不需要特殊选项。NDB
使用存储引擎支持配置构建会导致自动构建ndbmtd;make install将
ndbmtd二进制
文件与mysqld、ndbd和
ndb_mgmbin
一起放在安装目录中
。
SQL 节点。
如果编译支持集群的 MySQL,并执行默认安装(使用make install作为系统root
用户),
mysqld被放置在
/usr/local/mysql/bin
. 按照第 2.9 节“从源代码安装 MySQL”中给出的步骤使
mysqld准备好使用。如果要运行多个 SQL 节点,可以在多台机器上使用同一个
mysqld可执行文件及其相关支持文件的副本。最简单的方法是复制整个/usr/local/mysql
目录及其中包含的所有目录和文件到其他 SQL 节点主机或主机,然后
在每台机器上重复第 2.9 节“从源安装 MySQL”中的步骤。如果使用非默认PREFIX
选项配置构建,则必须相应地调整目录。
在第 21.3.3 节,“NDB Cluster 的初始配置”中,我们为示例 NDB Cluster 中的所有节点创建配置文件。