本节介绍了在 Linux 和其他类 Unix 平台上编译 NDB Cluster 的信息。从源代码构建 NDB Cluster 类似于构建标准 MySQL 服务器,尽管在本文中讨论的几个关键方面有所不同。有关从源代码构建 MySQL 的一般信息,请参阅 第 2.8 节,“从源代码安装 MySQL”。有关在 Windows 平台上编译 NDB Cluster 的信息,请参阅 第 25.3.2.2 节,“从源代码在 Windows 上编译和安装 NDB Cluster”.
MySQL NDB Cluster 8.4 是从 MySQL Server 8.4 源代码构建的,可从 MySQL 下载页面获取,地址为 https://dev.mysqlserver.cn/downloads/。归档的源代码文件应具有类似于 mysql-8.4.0.tar.gz
的名称。您也可以从 GitHub 获取源代码,地址为 https://github.com/mysql/mysql-server.
用于 CMake 的 WITH_NDB
选项将导致为管理节点、数据节点和其他 NDB Cluster 程序构建二进制文件;它还会导致 mysqld 编译为具有 NDB
存储引擎支持。构建 NDB Cluster 时需要此选项。
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 二进制文件放置在安装的 bin
目录中,与 mysqld、ndbd 和 ndb_mgm 一起。
SQL 节点。 如果您使用集群支持编译 MySQL 并执行默认安装(使用 make install 作为系统 root
用户),mysqld 将放置在 /usr/local/mysql/bin
中。按照 第 2.8 节,“从源代码安装 MySQL” 中给出的步骤使 mysqld 准备好使用。如果您想运行多个 SQL 节点,您可以在多台机器上使用同一 mysqld 可执行文件及其关联的支持文件。最简单的方法是将整个 /usr/local/mysql
目录以及其中包含的所有目录和文件复制到其他 SQL 节点主机,然后在每台机器上重复 第 2.8 节,“从源代码安装 MySQL” 中的步骤。如果您使用非默认的 PREFIX
选项配置构建,则必须相应地调整目录。
在 第 25.3.3 节,“NDB Cluster 的初始配置” 中,我们将为我们示例 NDB Cluster 中的所有节点创建配置文件。