25.3.1.1 Linux 上安装 NDB Cluster 二进制版本
本节涵盖了从 Oracle 提供的预编译二进制文件中获取正确的执行文件以便于各类集群节点的安装步骤。
在使用预编译二进制文件设置集群时,每个集群主机的安装过程的第一步是从 NDB Cluster 下载页面 下载二进制归档文件。 (对于最新的 64 位 NDB 8.4 发布,这是 mysql-cluster-gpl-8.4.0-linux-glibc2.12-x86_64.tar.gz
。)我们假设您将该文件置于每台机器的 /var/tmp
目录中。
如果需要自定义二进制文件,请参阅 第 2.8.5 节,“使用开发源树安装 MySQL”。
完成安装后,不要立即启动任何二进制文件。我们将在配置节点 (见 第 25.3.3 节,“NDB Cluster 的初始配置”) 之后展示如何启动它们。
SQL 节点。 在每台机器上,作为系统 root
用户执行以下步骤:
-
检查您的
/etc/passwd
和/etc/group
文件(或使用操作系统提供的工具来管理用户和组)是否已经存在名为mysql
的组和用户。如果它们不存在,可以创建一个新的mysql
用户组,然后将一个名为mysql
的用户添加到该组中:$> groupadd mysql $> useradd -g mysql -s /bin/false mysql
Unix不同版本的
useradd和
groupadd语法可能会有所不同,或者它们可能具有不同的名称,如
adduser和
addgroup。
-
将文件夹更改到下载的文件所在目录,解压缩归档,并创建一个名为
mysql
的符号链接指向mysql
目录。Note实际文件和目录名称取决于NDB集群版本号。
$> cd /var/tmp $> tar -C /usr/local -xzvf mysql-cluster-gpl-8.4.0-linux-glibc2.12-x86_64.tar.gz $> ln -s /usr/local/mysql-cluster-gpl-8.4.0-linux-glibc2.12-x86_64 /usr/local/mysql
-
将文件夹更改到
mysql
目录,然后使用mysqld--initialize
命令来设置系统数据库,如下所示:$> cd mysql $> mysqld --initialize
这将生成一个随机密码用于 MySQL
root
账户。如果您不想生成随机密码,可以将--initialize-insecure
选项替换--initialize
。在任何情况下,您都应该查看第2.9.1节,“初始化数据目录”,了解更多信息,然后执行这个步骤。请参阅第6.4.2节,“mysql_secure_installation — Improve MySQL Installation Security”。 -
为 MySQL 服务器和数据目录设置必要的权限:
$> chown -R root . $> chown -R mysql data $> chgrp -R mysql .
-
将 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 创建启动脚本链接;使用适合的平台工具,例如 Debian 中的update-rc.d。
请记住,在每台机器上都需要重复执行前面的步骤,以便在 SQL 节点驻留的每台机器上安装 MySQL。
数据节点。 安装数据节点不需要mysqld二进制文件。只需 NDB 集群数据节点可执行文件ndbd(单线程)或ndbmtd(多线程)。这些二进制文件也可以在.tar.gz
归档中找到。再次,我们假设您已经将该归档置于/var/tmp
。
作为系统root
(即使用sudo、su root或您的系统等效命令临时假设系统管理员账户的权限),执行以下步骤在数据节点主机上安装数据节点二进制文件:
-
切换到
/var/tmp
目录,并从归档中提取ndbd和ndbmtd二进制文件到合适的目录,如/usr/local/bin
:$> cd /var/tmp $> tar -zxvf mysql-cluster-gpl-8.4.0-linux-glibc2.12-x86_64.tar.gz $> cd mysql-cluster-gpl-8.4.0-linux-glibc2.12-x86_64 $> cp bin/ndbd /usr/local/bin/ndbd $> cp bin/ndbmtd /usr/local/bin/ndbmtd
(您可以安全地删除从下载的归档中解压缩创建的目录和其中包含的文件,从
/var/tmp
中删除,等待ndb_mgm和ndb_mgmd被复制到可执行文件目录中。) -
然后,切换到您复制文件的目录,然后将这两个文件都设置为可执行:
$> cd /usr/local/bin $> chmod +x ndb*
前面的步骤应该在每个数据节点主机上重复。
虽然只有一个数据节点可执行文件是运行 NDB 集群数据节点所需的,但是我们已经在前面的说明中展示了如何安装两个ndbd和ndbmtd。我们建议在安装或升级 NDB 集群时,即使您计划使用其中一个,也执行这两个文件,因为这可以节省时间和麻烦,以便在将来决定从一个到另一个时。
每个主机上的数据目录是/usr/local/mysql/data
。这个信息对于配置管理节点是非常重要的(见第25.3.3节,“NDB集群的初始配置”)。
管理节点。 安装管理节点不需要mysqld二进制文件。只需安装 NDB 集群管理服务器(ndb_mgmd)和管理客户端(ndb_mgm)。这两个二进制文件也可以在.tar.gz
归档中找到。再次,我们假设您已经将该归档置于/var/tmp
。
作为系统root
,执行以下步骤在管理节点主机上安装ndb_mgmd和ndb_mgm:
-
切换到
/var/tmp
目录,并从归档中提取ndb_mgm和ndb_mgmd到合适的目录,如/usr/local/bin
:$> cd /var/tmp $> tar -zxvf mysql-cluster-gpl-8.4.0-linux-glibc2.12-x86_64.tar.gz $> cd mysql-cluster-gpl-8.4.0-linux-glibc2.12-x86_64 $> cp bin/ndb_mgm* /usr/local/bin
(您可以安全地删除从下载的归档中解压缩创建的目录和其中包含的文件,从
/var/tmp
中删除,等待ndb_mgm和ndb_mgmd被复制到可执行文件目录后。) -
将位置更改为您复制文件的目录,然后使其两个都可执行。
$> cd /usr/local/bin $> chmod +x ndb_mgm*
在第25.3.3节,“NDB集群的初始配置”中,我们为我们的示例NDB集群创建了所有节点的配置文件。