#### 23.3.1.1 在 Linux 上安装 NDB Cluster 二进制版本

[](<>)[](<>)

本节介绍从 Oracle 提供的预编译二进制文件为每种类型的集群节点安装正确可执行文件所需的步骤。

要使用预编译的二进制文件设置集群，每个集群主机安装过程的第一步是从[NDB 集群下载页面](https://dev.mysql.com/downloads/cluster/).（对于最新的 64 位 NDB 8.0 版本，这是`mysql-cluster-gpl-8.0.28-linux-glibc2.12-x86_64.tar.gz`.) 我们假设您已将此文件放在每台机器的`/var/tmp`目录。

如果您需要自定义二进制文件，请参阅[第 2.9.5 节，“使用开发源树安装 MySQL”](installing-development-tree.html).

笔记

完成安装后，不要启动任何二进制文件。我们将根据节点的配置向您展示如何执行此操作（请参阅[第 23.3.3 节，“NDB 集群的初始配置”](mysql-cluster-install-configuration.html)）。

**SQL 节点。**在指定托管 SQL 节点的每台机器上，作为系统执行以下步骤`根`用户：

1.  检查你的`/etc/passwd`和`/etc/组`文件（或使用操作系统提供的用于管理用户和组的任何工具）来查看是否已经存在`mysql`组和`mysql`系统上的用户。一些操作系统发行版在操作系统安装过程中创建这些。如果它们不存在，请创建一个新的`mysql`用户组，然后添加一个`mysql`该组的用户：

    ```
    $> groupadd mysql
    $> useradd -g mysql -s /bin/false mysql
    ```

    的语法**用户添加**和**组添加**在不同版本的 Unix 上可能略有不同，或者它们可能有不同的名称，例如**添加用户**和**添加组**.

2.  将位置更改为包含下载文件的目录，解压缩存档，并创建一个名为`mysql`到`mysql`目录。

    笔记

    实际文件和目录名称因 NDB Cluster 版本号而异。

    ```
    $> cd /var/tmp
    $> tar -C /usr/local -xzvf mysql-cluster-gpl-8.0.28-linux-glibc2.12-x86_64.tar.gz
    $> ln -s /usr/local/mysql-cluster-gpl-8.0.28-linux-glibc2.12-x86_64 /usr/local/mysql
    ```

3.  将位置更改为`mysql`目录并使用设置系统数据库[**mysqld**](mysqld.html) [`- 初始化`](server-options.html#option_mysqld_initialize)如此处所示：

    ```
    $> cd mysql
    $> mysqld --initialize
    ```

    这会为 MySQL 生成一个随机密码`根`帐户。如果你这样做*不是*要生成随机密码，您可以替换[`--初始化不安全`](server-options.html#option_mysqld_initialize-insecure)选项`- 初始化`.无论哪种情况，您都应该查看[第 2.10.1 节，“初始化数据目录”](data-directory-initialization.html)，在执行此步骤之前获取更多信息。也可以看看[第 4.4.2 节，“mysql\_安全的\_安装——提高 MySQL 安装安全”](mysql-secure-installation.html).

4.  为 MySQL 服务器和数据目录设置必要的权限：

    ```
    $> chown -R root .
    $> chown -R mysql data
    $> chgrp -R mysql .
    ```

5.  将 MySQL 启动脚本复制到相应目录，使其可执行，并将其设置为在操作系统启动时启动：

    ```
    $> cp support-files/mysql.server /etc/rc.d/init.d/
    $> chmod +x /etc/rc.d/init.d/mysql.server
    $> chkconfig --add mysql.server
    ```

    （启动脚本目录可能因您的操作系统和版本而异——例如，在某些 Linux 发行版中，它是`/etc/init.d`.)

    这里我们使用 Red Hat 的**chkconfig**用于创建启动脚本的链接；在您的平台上使用适合此目的的任何方式，例如**更新-rc.d**在 Debian 上。

    请记住，必须在 SQL 节点所在的每台机器上重复上述步骤。

**数据节点。**数据节点的安装不需要[**mysqld**](mysqld.html)二进制。只有 NDB Cluster 数据节点可执行[**ndbd**](mysql-cluster-programs-ndbd.html)（单线程）或[**ndbmtd**](mysql-cluster-programs-ndbmtd.html)（多线程）是必需的。这些二进制文件也可以在`.tar.gz`档案。同样，我们假设您已将此存档放在`/var/tmp`.

作为系统`根`（即使用后**须藤**,**苏根**，或您的系统等效的临时承担系统管理员帐户的权限），请执行以下步骤以在数据节点主机上安装数据节点二进制文件：

1.  将位置更改为`/var/tmp`目录，然后解压[**ndbd**](mysql-cluster-programs-ndbd.html)和[**ndbmtd**](mysql-cluster-programs-ndbmtd.html)将存档中的二进制文件放入合适的目录，例如`/usr/local/bin`：

    ```
    $> cd /var/tmp
    $> tar -zxvf mysql-cluster-gpl-8.0.28-linux-glibc2.12-x86_64.tar.gz
    $> cd mysql-cluster-gpl-8.0.28-linux-glibc2.12-x86_64
    $> cp bin/ndbd /usr/local/bin/ndbd
    $> cp bin/ndbmtd /usr/local/bin/ndbmtd
    ```

    （您可以安全地删除通过解压下载的存档创建的目录及其包含的文件，`/var/tmp`一次[**数据库\_毫克**](mysql-cluster-programs-ndb-mgm.html)和[**数据库\_管理**](mysql-cluster-programs-ndb-mgmd.html)已复制到可执行文件目录。）

2.  将位置更改为您将文件复制到的目录，然后使它们都可执行：

    ```
    $> cd /usr/local/bin
    $> chmod +x ndb*
    ```

    应在每个数据节点主机上重复上述步骤。

    虽然运行 NDB Cluster 数据节点只需要一个数据节点可执行文件，但我们已经向您展示了如何安装这两个[**ndbd**](mysql-cluster-programs-ndbd.html)和[**ndbmtd**](mysql-cluster-programs-ndbmtd.html)在前面的说明中。我们建议您在安装或升级 NDB Cluster 时执行此操作，即使您打算只使用其中一个，因为这样可以在您以后决定从一个更改为另一个时节省时间和麻烦。

笔记

托管数据节点的每台机器上的数据目录是`/usr/local/mysql/数据`.在配置管理节点时，这条信息是必不可少的。（看[第 23.3.3 节，“NDB 集群的初始配置”](mysql-cluster-install-configuration.html).)

**管理节点。**管理节点的安装不需要[**mysqld**](mysqld.html)二进制。只有 NDB Cluster 管理服务器（[**数据库\_管理**](mysql-cluster-programs-ndb-mgmd.html)） 是必须的;您很可能想要安装管理客户端（[**数据库\_毫克**](mysql-cluster-programs-ndb-mgm.html)) 也是如此。这两个二进制文件也可以在`.tar.gz`档案。同样，我们假设您已将此存档放在`/var/tmp`.

作为系统`根`，执行以下步骤安装[**数据库\_管理**](mysql-cluster-programs-ndb-mgmd.html)和[**数据库\_毫克**](mysql-cluster-programs-ndb-mgm.html)在管理节点主机上：

1.  将位置更改为`/var/tmp`目录，然后解压[**数据库\_毫克**](mysql-cluster-programs-ndb-mgm.html)和[**数据库\_管理**](mysql-cluster-programs-ndb-mgmd.html)从存档到合适的目录，例如`/usr/local/bin`：

    ```
    $> cd /var/tmp
    $> tar -zxvf mysql-cluster-gpl-8.0.28-linux-glibc2.12-x86_64.tar.gz
    $> cd mysql-cluster-gpl-8.0.28-linux-glibc2.12-x86_64
    $> cp bin/ndb_mgm* /usr/local/bin
    ```

    （您可以安全地删除通过解压下载的存档创建的目录及其包含的文件，`/var/tmp`一次[**数据库\_毫克**](mysql-cluster-programs-ndb-mgm.html)和[**数据库\_管理**](mysql-cluster-programs-ndb-mgmd.html)已复制到可执行文件目录。）

2.  将位置更改为您将文件复制到的目录，然后使它们都可执行：

    ```
    $> cd /usr/local/bin
    $> chmod +x ndb_mgm*
    ```

    在[第 23.3.3 节，“NDB 集群的初始配置”](mysql-cluster-install-configuration.html)，我们为示例 NDB Cluster 中的所有节点创建配置文件。
