本节描述了在 Windows 上使用 Oracle 提供的二进制“无安装” NDB Cluster 版本的 NDB Cluster 的基本安装,使用本节开头概述的相同 4 节点设置(请参阅 第 21.3 节,“NDB Cluster 安装”),如下表所示:
与在其他平台上一样,运行 SQL 节点的 NDB Cluster 主机必须在其上安装 MySQL 服务器二进制文件 ( mysqld.exe )。您还应该在此主机上安装 MySQL 客户端 ( mysql.exe )。对于管理节点和数据节点,不需要安装MySQL Server binary;然而,每个管理节点都需要管理服务器守护进程(ndb_mgmd.exe);每个数据节点都需要数据节点守护进程(ndbd.exe或ndbmtd.exe)。对于此示例,我们将ndbd.exe称为数据节点可执行文件,但您可以安装 ndbmtd.exe,这个程序的多线程版本,相反,以完全相同的方式。您还应该在管理服务器主机上安装管理客户端 ( ndb_mgm.exe )。本节介绍为每种类型的 NDB Cluster 节点安装正确的 Windows 二进制文件所需的步骤。
与其他 Windows 程序一样,NDB Cluster 可执行文件以.exe
文件扩展名命名。.exe
但是,从命令行调用这些程序时不必包含
扩展名。因此,我们通常将本文档中的这些程序简称为
mysqld、mysql、
ndb_mgmd等。您应该明白,无论我们(例如)指
的是mysqld还是mysqld.exe,这两个名称的含义都是一样的(MySQL 服务器程序)。
要使用 Oracles 的二进制文件设置 NDB Cluster
no-install
,安装过程的第一步是从
https://mysql.net.cn/downloads/cluster/下载最新的 NDB Cluster Windows ZIP 二进制存档。此存档的文件名为
,其中是
存储引擎版本(例如
),并且
是体系结构(对于 32 位二进制文件和
64 位二进制文件)。例如,64 位 Windows 系统的 NDB Cluster 7.6.24 存档名为
.
mysql-cluster-gpl-
ver
-winarch
.zipver
NDB
7.6.24
arch
32
64
mysql-cluster-gpl-7.6.24-win64.zip
您可以在 32 位和 64 位版本的 Windows 上运行 32 位 NDB Cluster 二进制文件;但是,64 位 NDB Cluster 二进制文件只能在 64 位版本的 Windows 上使用。如果您在具有 64 位 CPU 的计算机上使用 32 位版本的 Windows,则必须使用 32 位 NDB Cluster 二进制文件。
为了尽量减少需要从 Internet 下载或在机器之间复制的文件数量,我们从您打算运行 SQL 节点的计算机开始。
SQL 节点。
我们假设您已将存档副本放置在 IP 地址为 198.51.100.20 的计算机的目录中,其中
是当前用户的名称。(您可以在命令行上使用获取此名称。)要将 NDB Cluster 可执行文件作为 Windows 服务安装和运行,此用户应该是该组的成员。
C:\Documents and
Settings\
username
\My
Documents\Downloadsusername
ECHO
%USERNAME%
Administrators
从存档中提取所有文件。与 Windows 资源管理器集成的提取向导足以完成此任务。(如果您使用不同的存档程序,请确保它从存档中提取所有文件和目录,并保留存档的目录结构。)当要求您提供目标目录时,输入
C:\
,这会导致提取向导提取存档到目录
。将此目录重命名为.
C:\mysql-cluster-gpl-
ver
-winarch
C:\mysql
可以将 NDB Cluster 二进制文件安装到目录以外的目录C:\mysql\bin
;但是,如果这样做,则必须相应地修改此过程中显示的路径。特别是,如果 MySQL 服务器(SQL 节点)二进制文件安装到
C:\mysql
或以外的位置C:\Program
Files\MySQL\MySQL Server 5.7
,或者如果 SQL 节点的数据目录位于
C:\mysql\data
或以外的位置C:\Program
Files\MySQL\MySQL Server 5.7\data
,则必须在命令行上使用额外的配置选项或将其添加到my.ini
或
my.cnf
启动 SQL 节点时的文件。有关配置 MySQL 服务器以在非标准位置运行的更多信息,请参阅
第 2.3.4 节,“使用
noinstall
ZIP 存档”。
对于具有 NDB Cluster 支持的 MySQL 服务器作为 NDB Cluster 的一部分运行,它必须使用选项
--ndbcluster
和
启动--ndb-connectstring
。虽然您可以在命令行上指定这些选项,但通常将它们放在选项文件中更方便。为此,请在记事本或其他文本编辑器中创建一个新的文本文件。在该文件中输入以下配置信息:
[mysqld]
# Options for mysqld process:
ndbcluster # run NDB storage engine
ndb-connectstring=198.51.100.10 # location of management server
如果需要,您可以添加此 MySQL 服务器使用的其他选项(请参阅第 2.3.4.2 节,“创建选项文件”),但该文件必须至少包含显示的选项。将此文件另存为
C:\mysql\my.ini
. 这样就完成了 SQL 节点的安装和设置。
数据节点。
Windows 主机上的 NDB Cluster 数据节点只需要一个可执行文件,即ndbd.exe
或ndbmtd.exe 之一。对于此示例,我们假设您使用的是ndbd.exe,但在使用ndbmtd.exe时适用相同的说明。在您希望运行数据节点的每台计算机上(IP 地址为 198.51.100.30 和 198.51.100.40 的计算机),创建目录
C:\mysql
,
C:\mysql\bin
, 和
C:\mysql\cluster-data
; 然后,在您下载并提取
no-install
存档的计算机上,
ndbd.exe
找到
C:\mysql\bin
目录。将此文件复制到C:\mysql\bin
两个数据节点主机上的目录中。
要作为 NDB Cluster 的一部分运行,必须为每个数据节点提供管理服务器的地址或主机名。您可以在启动每个数据节点进程时使用--ndb-connectstring
或
选项在命令行上提供此信息
。-c
但是,通常最好将此信息放在选项文件中。为此,请在记事本或其他文本编辑器中创建一个新文本文件并输入以下文本:
[mysql_cluster]
# Options for data node process:
ndb-connectstring=198.51.100.10 # location of management server
将此文件保存C:\mysql\my.ini
在数据节点主机上。创建另一个包含相同信息的文本文件并将其保存
C:mysql\my.ini
在另一个数据节点主机上,或者将 my.ini 文件从第一个数据节点主机复制到第二个数据节点主机,确保将副本放在第二个数据节点的C:\mysql
目录中. 两个数据节点主机现在都已准备好在 NDB Cluster 中使用,只剩下要安装和配置的管理节点。
管理节点。
用于托管 NDB Cluster 管理节点的计算机上唯一需要的可执行程序是管理服务器程序ndb_mgmd.exe。但是,为了在启动后管理 NDB Cluster,您还应该在与管理服务器相同的机器上安装 NDB Cluster 管理客户端程序ndb_mgm.exe 。no-install
在您下载并提取存档的机器上找到这两个程序
;这应该是C:\mysql\bin
SQL 节点主机上的目录。创建目录C:\mysql\bin
在 IP 地址为 198.51.100.10 的计算机上,然后将这两个程序复制到此目录。
您现在应该创建两个配置文件供以下人员使用
ndb_mgmd.exe
:
一个本地配置文件,用于提供特定于管理节点本身的配置数据。通常,此文件只需要提供 NDB Cluster 全局配置文件的位置(请参阅第 2 项)。
要创建此文件,请在记事本或其他文本编辑器中启动一个新的文本文件,然后输入以下信息:
[mysql_cluster] # Options for management node process config-file=C:/mysql/bin/config.ini
将此文件另存为文本文件
C:\mysql\bin\my.ini
。全局配置文件,管理节点可以从中获取管理整个 NDB Cluster 的配置信息。至少,此文件必须包含 NDB Cluster 中每个节点的部分,以及管理节点和所有数据节点的 IP 地址或主机名(
HostName
配置参数)。还建议包括以下附加信息:任何 SQL 节点的 IP 地址或主机名
分配给每个数据节点的数据内存和索引内存(
DataMemory
和IndexMemory
配置参数)使用
NoOfReplicas
配置参数的片段副本数(请参阅 第 21.2.2 节,“NDB Cluster 节点、节点组、片段副本和分区”)每个数据节点保存它的数据和日志文件的目录,以及管理节点保存它的日志文件的目录(在这两种情况下,都是
DataDir
配置参数)
使用记事本等文本编辑器新建一个文本文件,输入以下信息:
[ndbd default] # Options affecting ndbd processes on all data nodes: NoOfReplicas=2 # Number of fragment replicas DataDir=C:/mysql/cluster-data # Directory for each data node's data files # Forward slashes used in directory path, # rather than backslashes. This is correct; # see Important note in text DataMemory=80M # Memory allocated to data storage IndexMemory=18M # Memory allocated to index storage # For DataMemory and IndexMemory, we have used the # default values. Since the "world" database takes up # only about 500KB, this should be more than enough for # this example Cluster setup. [ndb_mgmd] # Management process options: HostName=198.51.100.10 # Hostname or IP address of management node DataDir=C:/mysql/bin/cluster-logs # Directory for management node log files [ndbd] # Options for data node "A": # (one [ndbd] section per data node) HostName=198.51.100.30 # Hostname or IP address [ndbd] # Options for data node "B": HostName=198.51.100.40 # Hostname or IP address [mysqld] # SQL node options: HostName=198.51.100.20 # Hostname or IP address
将此文件另存为文本文件
C:\mysql\bin\config.ini
。
\
在 Windows 上的 NDB Cluster 使用的程序选项或配置文件中指定目录路径时,不能使用
单个反斜杠字符 ( )。相反,您必须使用第二个反斜杠 ( \\
) 转义每个反斜杠字符,或者将反斜杠替换为正斜杠字符 ( /
)。例如,
[ndb_mgmd]
NDB Cluster 文件部分
的以下行config.ini
不起作用:
DataDir=C:\mysql\bin\cluster-logs
相反,您可以使用以下任一方法:
DataDir=C:\\mysql\\bin\\cluster-logs # Escaped backslashes
DataDir=C:/mysql/bin/cluster-logs # Forward slashes
出于简洁和易读性的原因,我们建议您在 Windows 上的 NDB Cluster 程序选项和配置文件中使用的目录路径中使用正斜杠。