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
useradd 和 groupadd 的语法在不同版本的 Unix 上可能略有不同,或者它们的名称也可能不同,例如 adduser 和 addgroup 。
- 将位置更改为包含下载文件的目录,解压缩归档文件,并创建一个名为
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
(即,在使用 sudo , su root 或您的系统等效物临时占据系统 Management 员帐户的特权之后),执行以下步骤以在数据节点上安装数据节点二进制文件主持人:
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_mgm和ndb_mgmd复制到可执行文件目录后,就可以从/var/tmp
解压缩下载的归档文件及其包含的文件,从而安全地删除该目录。)
- 将位置更改为将文件复制到的目录,然后使它们都可执行:
shell> cd /usr/local/bin
shell> chmod +x ndb*
在每个数据节点主机上应重复上述步骤。
尽管只需要一个数据节点可执行文件即可运行 NDB 群集数据节点,但是在前面的说明中,我们已经向您展示了如何安装ndbd和ndbmtd。我们建议您在安装或升级 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_mgmd和ndb_mgm:
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_mgm和ndb_mgmd复制到可执行文件目录后,就可以从/var/tmp
解压缩下载的归档文件及其包含的文件,从而安全地删除该目录。)
- 将位置更改为将文件复制到的目录,然后使它们都可执行:
shell> cd /usr/local/bin
shell> chmod +x ndb_mgm*
在第 21.2.5 节“ NDB 群集的初始配置”中,我们为示例 NDB 群集中的所有节点创建配置文件。