Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


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

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

本节描述了使用 Oracle 提供的无需安装的 NDB 集群二进制文件在 Windows 上进行基本安装,使用与本节开始部分中相同的 4 节点设置(见第 25.3 节,“NDB 集群安装”),如以下表所示:

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

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)在管理服务器主机上。该部分涵盖了安装每种类型NDB集群节点所需的正确Windows二进制文件步骤。

Note

像其他 Windows 程序一样,NDB 集群可执行文件以.exe文件扩展名命名。然而,在从命令行invoke这些程序时,不需要包括.exe扩展名。因此,我们在这份文档中通常简称这些程序为mysqldmysqlndb_mgmd等。您应该理解,即使我们简称(例如)为mysqldmysqld.exe,这两个名称都表示同一个意思(MySQL 服务器程序)。

要使用Oracle的no-install-binaries设置NDB集群,首先需要从https://dev.mysql.com/downloads/cluster/下载最新的NDB集群Windows ZIP归档文件。该归档文件的名称为mysql-cluster-gpl-ver-winarch.zipver是NDB存储引擎版本(例如8.4.0),arch是架构(32为32位-binaries,64为64位-binaries)。例如,NDB集群8.4.0归档文件对于64位Windows系统的名称为mysql-cluster-gpl-8.4.0-win64.zip.

您可以在32位和64位版本的Windows上运行32位NDB集群-binaries;然而,64位NDB集群-binaries只能在64位版本的Windows上使用。如果您使用的是32位版本的Windows,并且计算机具有64位CPU,那么必须使用32位NDB集群-binaries。

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

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

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

可以将 NDB 集群二进制文件安装到除C:\mysql\bin之外的目录;然而,如果您这样做,您必须根据该过程修改路径。在特定情况下,如果 MySQL 服务器(SQL 节点)二进制文件安装在除C:\mysqlC:\Program Files\MySQL\MySQL Server 8.4之外的目录,或者 SQL 节点的数据目录在除C:\mysql\dataC:\Program Files\MySQL\MySQL Server 8.4\data之外的目录,您必须在命令行中使用额外的配置选项或将其添加到my.inimy.cnf文件中,以启动 SQL 节点。有关在非标准位置运行 MySQL 服务器的更多信息,请见第2.3.3节,“配置:手动”

为了使 MySQL 服务器(具有 NDB 集群支持)作为 NDB 集群的一部分运行,它必须使用选项--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.3.2节,“创建选项文件”),但文件必须包含显示的选项,至少。将该文件保存为C:\mysql\my.ini。这完成了 SQL 节点的安装和设置。

数据节点。NDB 集群数据节点在 Windows 主机上只需要单个可执行文件,即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.exe文件在C:\mysql\bin目录。将该文件复制到每台数据节点主机上的C:\mysql\bin目录。

在成为 NDB 集群的一部分时,每个数据节点都必须被赋予管理服务器的地址或主机名。你可以使用命令行中的--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 集群,只剩下管理节点需要安装和配置了。

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

现在,您需要创建两个配置文件,以供 ndb_mgmd.exe 使用:

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

    创建这个文件,请在记事本或其他文本编辑器中启动一个新的文本文件,然后输入以下信息:

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

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

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

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

    [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 上,用于指定目录路径的程序选项或配置文件中不能使用单个反斜杠字符(\)。相反,您必须将每个反斜杠字符用第二个反斜杠 (\\).Escape,或者将反斜杠替换为前向斜杠字符 (/). 例如,以下来自 NDB Cluster config.ini 文件的[ndb_mgmd]部分的行不起作用:

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 程序选项和配置文件中的目录路径中使用前向斜杠。