本节提供有关在 Linux 和其他类 Unix 平台上编译 NDB 集群的信息。从源代码构建 NDB 集群类似于构建标准 MySQL 服务器,尽管它在几个关键方面有所不同,这里讨论了这些方面。有关从源代码构建 MySQL 的一般信息,请参阅 第 2.8 节,"从源代码安装 MySQL"。有关在 Windows 平台上编译 NDB 集群的信息,请参阅 第 25.3.2.2 节,"从源代码编译和安装 NDB 集群在 Windows 上".
MySQL NDB 集群 9.0 是从 MySQL 服务器 9.0 源代码构建的,可从 MySQL 下载页面获得:https://dev.mysqlserver.cn/downloads/。存档的源文件应具有类似于 mysql-9.0.0.tar.gz
的名称。您也可以从 GitHub 上获取源代码:https://github.com/mysql/mysql-server.
用于 CMake 的 WITH_NDB
选项会导致构建用于管理节点、数据节点和其他 NDB 集群程序的二进制文件;它还会导致 mysqld 使用 NDB
存储引擎支持进行编译。此选项在构建 NDB 集群时是必需的。
WITH_NDB_JAVA
选项默认情况下处于启用状态。这意味着,默认情况下,如果 CMake 找不到 Java 在系统中的位置,则配置过程将失败;如果您不想启用 Java 和 ClusterJ 支持,则必须通过使用 -DWITH_NDB_JAVA=OFF
配置构建来明确地指出这一点。使用 WITH_CLASSPATH
来提供 Java 类路径(如果需要)。
有关构建 NDB 集群特有的 CMake 选项的更多信息,请参阅 用于编译 NDB 集群的 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 集群时,构建多线程数据节点二进制文件不需要任何特殊选项。使用 NDB
存储引擎支持配置构建会导致自动构建 ndbmtd;make install 将 ndbmtd 二进制文件放置在安装 bin
目录中,与 mysqld、ndbd 和 ndb_mgm 在一起。
SQL 节点。 如果您使用集群支持编译 MySQL,并执行默认安装(使用系统 root
用户作为 make install),则 mysqld 将被放置在 /usr/local/mysql/bin
中。按照 第 2.8 节,"从源代码安装 MySQL" 中给出的步骤使 mysqld 准备好使用。如果您想运行多个 SQL 节点,您可以在几台机器上使用相同的 mysqld 可执行文件及其关联的支持文件副本。执行此操作最简单的方法是将整个 /usr/local/mysql
目录以及其中包含的所有目录和文件复制到其他 SQL 节点主机,然后在每台机器上重复 第 2.8 节,"从源代码安装 MySQL" 中的步骤。如果您使用非默认的 PREFIX
选项配置构建,则必须相应地调整目录。
在 第 25.3.3 节,"NDB 集群的初始配置" 中,我们为示例 NDB 集群中的所有节点创建配置文件。