Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

MySQL 8.3 Reference Manual  /  ...  /  Installing NDB Cluster on Windows from a Binary Release

25.3.2.1 在 Windows 上从二进制发行版安装 NDB 集群

本节描述了使用 Oracle 提供的二进制“无安装”NDB 集群发行版在 Windows 上安装 NDB 集群的基本步骤,使用本节开头所述的 4 节点设置(见 第 25.3 节,“NDB 集群安装”),如下表所示:

表 25.6 示例集群中的节点网络地址

Node IP Address
管理节点 (mgmd) 198.51.100.10
SQL 节点 (mysqld) 198.51.100.20
数据节点“A” (ndbd) 198.51.100.30
数据节点“B” (ndbd) 198.51.100.40

与其他平台一样,运行 SQL 节点的 NDB 集群主机计算机必须安装 MySQL 服务器二进制文件 (mysqld.exe)。您还应该在此主机上安装 MySQL 客户端 (mysql.exe)。对于管理节点和数据节点,不需要安装 MySQL 服务器二进制文件;但是,每个管理节点都需要管理服务器守护进程 (ndb_mgmd.exe);每个数据节点都需要数据节点守护进程 (ndbd.exendbmtd.exe)。在本示例中,我们将 ndbd.exe 作为数据节点可执行文件,但您可以安装 ndbmtd.exe,该程序的多线程版本,以相同的方式安装。您还应该在管理服务器主机上安装管理客户端 (ndb_mgm.exe)。

Note

与其他 Windows 程序一样,NDB 集群可执行文件以 .exe 文件扩展名命名。但是,在命令行中调用这些程序时,不需要包括 .exe 扩展名。因此,在本文档中,我们经常简单地将这些程序称为 mysqldmysqlndb_mgmd 等。您应该了解,我们是否将(例如)mysqldmysqld.exe 都是指同一个程序(MySQL 服务器程序)。

使用 Oracle 的 no-install 二进制文件设置 NDB 集群的第一步是从 https://dev.mysql.com/downloads/cluster/ 下载最新的 NDB 集群 Windows ZIP 二进制存档。该存档的文件名为 mysql-cluster-gpl-ver-winarch.zip,其中 ver 是 NDB 存储引擎版本(例如 8.3.0),arch 是架构(32 为 32 位二进制文件,64 为 64 位二进制文件)。例如,NDB 集群 8.3.0 存档为 64 位 Windows 系统的名称为 mysql-cluster-gpl-8.3.0-win64.zip

您可以在 32 位和 64 位版本的 Windows 上运行 32 位 NDB 集群二进制文件;但是,64 位 NDB 集群二进制文件只能在 64 位版本的 Windows 上使用。如果您在 64 位 CPU 的计算机上使用 32 位版本的 Windows,那么您必须使用 32 位 NDB 集群二进制文件。

为了减少从 Internet 下载或在机器之间复制的文件数量,我们从计划在其中运行 SQL 节点的计算机开始。

SQL 节点。 我们假设您已经将存档复制到计算机的目录 C:\Documents and Settings\username\My Documents\Downloads 中,该计算机的 IP 地址为 198.51.100.20,其中 username 是当前用户的名称。(您可以使用命令行上的 ECHO %USERNAME% 获得该名称。)要作为 Windows 服务安装和运行 NDB 集群可执行文件,该用户应该是 Administrators 组的成员。

从存档中提取所有文件。Windows Explorer 中的 Extraction Wizard 足以完成此任务。(如果您使用不同的存档程序,请确保它从存档中提取所有文件和目录,并保留存档的目录结构。)当您被询问目标目录时,输入 C:\,这将导致 Extraction Wizard 将存档提取到目录 C:\mysql-cluster-gpl-ver-winarch 中。将该目录重命名为 C:\mysql

可以将 NDB 集群二进制文件安装到其他目录,而不是 C:\mysql\bin;但是,如果您这样做了,那么您必须相应地修改本过程中的路径。特别是,如果 MySQL 服务器(SQL 节点)二进制文件安装到其他位置,而不是 C:\mysqlC:\Program Files\MySQL\MySQL Server 8.3,或者 SQL 节点的数据目录位于其他位置,而不是 C:\mysql\dataC:\Program Files\MySQL\MySQL Server 8.3\data,那么您必须在命令行上或在 my.inimy.cnf 文件中添加额外的配置选项以启动 SQL 节点。有关在非标准位置配置 MySQL 服务器的更多信息,请参阅 第 2.3.3 节,“配置:手动”

要使 MySQL 服务器作为 NDB 集群的一部分运行,它必须使用选项 --ndbcluster--ndb-connectstring 启动。虽然您可以在命令行上指定这些选项,但通常更方便地将它们放在选项文件中。为此,创建一个新的文本文件在 Notepad 或其他文本编辑器中。将以下配置信息输入到该文件中:

[mysqld]
# Options for mysqld process:
ndbcluster                       # run NDB storage engine
ndb-connectstring=198.51.100.10  # location of management server

您可以添加其他选项,用于该 MySQL 服务器(见 第 2.3.3.2 节,“创建选项文件”),但该文件至少必须包含这些选项。将该文件保存为 C:\mysql\my.ini。这将完成 SQL 节点的安装和设置。

数据节点。 在 Windows 主机上,NDB 集群数据节点只需要一个可执行文件,即 ndbd.exendbmtd.exe。在本例中,我们假设您使用 ndbd.exe,但相同的说明也适用于使用 ndbmtd.exe。在每台计算机上,您希望运行数据节点(具有 IP 地址 198.51.100.30 和 198.51.100.40 的计算机),创建目录 C:\mysqlC:\mysql\binC:\mysql\cluster-data;然后,在下载和提取 no-install 存档的计算机上,定位 ndbd.exeC:\mysql\bin 目录中。将该文件复制到每个数据节点主机的 C:\mysql\bin 目录中。

要作为 NDB 集群的一部分,每个数据节点必须提供管理服务器的地址或主机名。您可以在命令行上使用 --ndb-connectstring-c 选项启动每个数据节点进程时提供该信息。但是,通常更preferable 将该信息放入选项文件中。为此,创建一个新的文本文件在 Notepad 或其他文本编辑器中,并输入以下文本:

[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 集群,这只剩下管理节点需要安装和配置。

管理节点。 在用于托管 NDB 集群管理节点的计算机上,唯一需要的可执行程序是管理服务器程序 ndb_mgmd.exe。然而,为了管理 NDB 集群一旦启动,您也应该在同一台机器上安装 NDB 集群管理客户端程序 ndb_mgm.exe。定位这两个程序在下载和提取 no-install 存档的机器上;这应该是目录 C:\mysql\bin 在 SQL 节点主机上。创建目录 C:\mysql\bin 在具有 IP 地址 198.51.100.10 的计算机上,然后将这两个程序复制到该目录中。

现在,您应该创建两个配置文件供 ndb_mgmd.exe 使用:

  1. 一个本地配置文件,提供管理节点本身的配置数据。通常,该文件只需要提供 NDB 集群全局配置文件的位置(见 item 2)。

    要创建该文件,启动一个新的文本文件在 Notepad 或其他文本编辑器中,并输入以下信息:

    [mysql_cluster]
    # Options for management node process
    config-file=C:/mysql/bin/config.ini

    将该文件保存为文本文件 C:\mysql\bin\my.ini

  2. 一个全局配置文件,从中管理节点可以获取 NDB 集群的配置信息。至少,该文件必须包含 NDB 集群中的每个节点的部分,以及管理节点和所有数据节点的 IP 地址或主机名 (HostName 配置参数)。也建议包括以下附加信息:

    使用文本编辑器(如记事本)创建一个新的文本文件,并输入以下信息:

    [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

Important

在 Windows 上使用 NDB Cluster 时,不能在程序选项或配置文件中使用单个反斜杠字符 (\) 指定目录路径。相反,您必须使用双反斜杠 (\\) 转义每个反斜杠字符,或者将反斜杠替换为正斜杠字符 (/)。例如,来自 [ndb_mgmd] 部分的以下行 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 程序选项和配置文件中的目录路径时使用正斜杠。