21.2.3.1 在 Linux 上安装 NDB 群集二进制版本

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

为了使用预编译的二进制文件设置集群,每个集群主机的安装过程的第一步是从NDB 群集下载页面下载二进制归档文件。 (对于最新的 64 位 NDB 7.5 版本,它是mysql-cluster-gpl-7.5.20-linux-glibc2.12-x86_64.tar.gz.)我们假定您已将此文件放置在每台计算机的/var/tmp目录中。

如果需要自定义二进制文件,请参见第 2.9.5 节“使用开发源树安装 MySQL”

Note

完成安装后,请不要启动任何二进制文件。我们将向您展示如何按照节点的配置进行操作(请参阅第 21.2.5 节“ NDB 群集的初始配置”)。

SQL 节点. 在指定用于承载 SQL 节点的每台计算机上,以系统root用户的身份执行以下步骤:

  • 检查您的/etc/passwd/etc/group文件(或使用 os 提供的用于 Management 用户和组的任何工具),以查看系统上是否已经有mysql组和mysql用户。某些 OS 发行版会在 os 安装过程中创建这些发行版。如果尚不存在,请创建一个新的mysql用户组,然后将mysql用户添加到该组:
shell> groupadd mysql
shell> useradd -g mysql -s /bin/false mysql

useraddgroupadd 的语法在不同版本的 Unix 上可能略有不同,或者它们的名称也可能不同,例如 adduseraddgroup

  • 将位置更改为包含下载文件的目录,解压缩归档文件,并创建一个名为mysql的符号链接到mysql目录。

Note

实际的文件和目录名称根据 NDB 群集版本号而异。

shell> cd /var/tmp
shell> tar -C /usr/local -xzvf mysql-cluster-gpl-7.5.20-linux-glibc2.12-x86_64.tar.gz
shell> ln -s /usr/local/mysql-cluster-gpl-7.5.20-linux-glibc2.12-x86_64 /usr/local/mysql
  • 将位置更改为mysql目录,并使用mysqld --initialize设置系统数据库,如下所示:
shell> cd mysql
shell> mysqld --initialize

这将为 MySQL root帐户生成一个随机密码。如果您希望生成随机密码,则可以将--initialize-insecure选项替换为--initialize。无论哪种情况,在执行此步骤之前,都应查看第 2.10.1 节“初始化数据目录”以获得更多信息。另请参见第 4.4.4 节“ mysql_secure_installation-提高 MySQL 安装安全性”

  • 为 MySQL 服务器和数据目录设置必要的权限:
shell> chown -R root .
shell> chown -R mysql data
shell> chgrp -R mysql .
  • 将 MySQL 启动脚本复制到适当的目录,使其可执行,并将其设置为在 os 启动时启动:
shell> cp support-files/mysql.server /etc/rc.d/init.d/
shell> chmod +x /etc/rc.d/init.d/mysql.server
shell> chkconfig --add mysql.server

(启动脚本目录可能因您的 os 和版本而异,例如,在某些 Linux 发行版中为/etc/init.d.)

在这里,我们使用 Red Hat 的 chkconfig 来创建指向启动脚本的链接。在您的平台上使用适合此目的的任何方式,例如 Debian 上的 update-rc.d

请记住,必须在要驻留 SQL 节点的每台计算机上重复上述步骤。

数据节点. 数据节点的安装不需要mysqld二进制文件。仅需要 NDB 群集数据节点可执行文件ndbd(单线程)或ndbmtd(多线程)。这些二进制文件也可以在.tar.gz存档中找到。同样,我们假设您已将此 Files 放在/var/tmp中。

作为系统root(即,在使用 sudosu root 或您的系统等效物临时占据系统 Management 员帐户的特权之后),执行以下步骤以在数据节点上安装数据节点二进制文件主持人:

  • 将位置更改为/var/tmp目录,然后从存档中提取ndbdndbmtd二进制文件到合适的目录中,例如/usr/local/bin
shell> cd /var/tmp
shell> tar -zxvf mysql-cluster-gpl-7.5.20-linux-glibc2.12-x86_64.tar.gz
shell> cd mysql-cluster-gpl-7.5.20-linux-glibc2.12-x86_64
shell> cp bin/ndbd /usr/local/bin/ndbd
shell> cp bin/ndbmtd /usr/local/bin/ndbmtd

(一旦将ndb_mgmndb_mgmd复制到可执行文件目录后,就可以从/var/tmp解压缩下载的归档文件及其包含的文件,从而安全地删除该目录。)

  • 将位置更改为将文件复制到的目录,然后使它们都可执行:
shell> cd /usr/local/bin
shell> chmod +x ndb*

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

尽管只需要一个数据节点可执行文件即可运行 NDB 群集数据节点,但是在前面的说明中,我们已经向您展示了如何安装ndbdndbmtd。我们建议您在安装或升级 NDB 群集时执行此操作,即使您打算仅使用它们中的一个,也可以这样做,因为如果您以后决定从一个更改为另一个,则可以节省时间和麻烦。

Note

托管数据节点的每台计算机上的数据目录为/usr/local/mysql/data。在配置 Management 节点时,此信息至关重要。 (请参阅第 21.2.5 节“ NDB 群集的初始配置”。)

Management 节点. Management 节点的安装不需要mysqld二进制文件。仅需要 NDB 群集 Management 服务器(ndb_mgmd);您很可能也希望安装 ManagementClient 端(ndb_mgm)。这两个二进制文件都可以在.tar.gz存档中找到。同样,我们假设您已将此 Files 放在/var/tmp中。

作为系统root,执行以下步骤以在 Management 节点主机上安装ndb_mgmdndb_mgm

  • 将位置更改为/var/tmp目录,然后将ndb_mgmndb_mgmd从存档中提取到合适的目录中,例如/usr/local/bin
shell> cd /var/tmp
shell> tar -zxvf mysql-cluster-gpl-7.5.20-linux-glibc2.12-x86_64.tar.gz
shell> cd mysql-cluster-gpl-7.5.20-linux-glibc2.12-x86_64
shell> cp bin/ndb_mgm* /usr/local/bin

(一旦将ndb_mgmndb_mgmd复制到可执行文件目录后,就可以从/var/tmp解压缩下载的归档文件及其包含的文件,从而安全地删除该目录。)

  • 将位置更改为将文件复制到的目录,然后使它们都可执行:
shell> cd /usr/local/bin
shell> chmod +x ndb_mgm*

第 21.2.5 节“ NDB 群集的初始配置”中,我们为示例 NDB 群集中的所有节点创建配置文件。