本节涵盖了从 Oracle 提供的预编译二进制文件安装每种类型的集群节点所需的步骤。
要使用预编译二进制文件设置集群,安装过程的第一步是在每个集群主机上下载二进制存档文件,从 NDB 集群下载页面。(对于最新的 64 位 NDB 8.3 版本,这是 mysql-cluster-gpl-8.3.0-linux-glibc2.12-x86_64.tar.gz
。) 我们假设您已经将该文件放在每台机器的 /var/tmp
目录中。
如果您需要自定义二进制文件,请参阅 第 2.8.5 节,“使用开发源树安装 MySQL”。
完成安装后,不要启动任何二进制文件。我们将在配置节点后(参阅 第 25.3.3 节,“NDB 集群的初始配置”)显示如何执行此操作。
SQL 节点。 在每台机器上,作为系统 root
用户,执行以下步骤:
-
检查您的
/etc/passwd
和/etc/group
文件(或使用操作系统提供的用户和组管理工具),以查看是否已经存在mysql
组和mysql
用户。如果不存在,请创建一个新的mysql
用户组,然后将mysql
用户添加到该组中:$> groupadd mysql $> useradd -g mysql -s /bin/false mysql
语法 useradd 和 groupadd 可能在不同的 Unix 版本上有所不同,或者它们可能具有不同的名称,例如 adduser 和 addgroup。
-
更改到包含下载文件的目录,解压存档,并创建一个名为
mysql
的符号链接指向mysql
目录。Note实际文件和目录名称根据 NDB 集群版本号而有所不同。
$> cd /var/tmp $> tar -C /usr/local -xzvf mysql-cluster-gpl-8.3.0-linux-glibc2.12-x86_64.tar.gz $> ln -s /usr/local/mysql-cluster-gpl-8.3.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 — 提高 MySQL 安装安全性”。 -
设置 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 节点。
数据节点。 安装数据节点不需要 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.3.0-linux-glibc2.12-x86_64.tar.gz $> cd mysql-cluster-gpl-8.3.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.3.0-linux-glibc2.12-x86_64.tar.gz $> cd mysql-cluster-gpl-8.3.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 集群中的所有节点创建配置文件。