25.3.1.4 Linux 上从源代码构建 NDB 集群
本节提供了关于在 Linux 和其他 Unix-类平台上编译 NDB 集群的信息。从源代码构建 NDB 集群与标准 MySQL 服务器的构建相似,但有一些不同之处,以下讨论这些差异。关于从源代码安装 MySQL 的一般信息,请见第2.8节,“从源代码安装 MySQL”。关于在 Windows 平台上编译 NDB 集群的信息,请见第25.3.2.2节,“从源代码编译和安装 NDB 集群于 Windows”。
MySQL NDB 集群 8.4 是基于 MySQL 服务器 8.4 的源代码构建的,可以从 MySQL 下载页面https://dev.mysql.com/downloads/获取。存档源文件名称类似于mysql-8.4.0.tar.gz
。您也可以从 GitHub 获取源代码https://github.com/mysql/mysql-server。
为 WITH_NDB
选项的CMake
,将管理节点、数据节点和其他 NDB 集群程序的二进制文件编译,并将 mysqld 编译为支持NDB
存储引擎。该选项在编译 NDB 集群时是必需的。
为WITH_NDB_JAVA
选项默认启用。这意味着,如果 CMake 无法在您的系统上找到 Java 的位置,配置过程将失败;如果您不想启用 Java 和 ClusterJ 支持,您必须明确地配置 build 使用 -DWITH_NDB_JAVA=OFF
。使用WITH_CLASSPATH
提供 Java 类路径如果需要。
有关编译 NDB 集群时 CMake 选项的更多信息,请见CMake 选项用于编译 NDB 集群。
在运行 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集群时,不需要特殊选项来构建多线程数据节点二进制文件。使用NDB
存储引擎支持时,自动构建ndbmtd,make install将ndbmtd二进制文件安装在bin
目录中,同样包括mysqld、ndbd和ndb_mgm。
SQL节点。 如果您使用 clustering 支持编译 MySQL,并且执行默认安装(使用make install作为系统root
用户),则mysqld将被置于/usr/local/mysql/bin
中。按照第2.8节,“从源代码安装 MySQL”中的步骤来使mysqld准备使用。如果您想在多个机器上运行多个 SQL 节点,可以将同一个mysqld可执行文件和相关支持文件复制到其他 SQL 节点主机或主机上,然后重复第2.8节,“从源代码安装 MySQL”中的步骤。如果您在编译时使用了非默认的PREFIX
选项,则需要相应地调整目录。
在第25.3.3节,“NDB 集群的初始配置”中,我们为我们的示例 NDB 集群创建了所有节点的配置文件。