文档首页
MySQL 8.4 参考手册
相关文档 下载本手册
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
手册页 (TGZ) - 258.5Kb
手册页 (Zip) - 365.5Kb
信息 (Gzip) - 4.0Mb
信息 (Zip) - 4.0Mb


MySQL 8.4 参考手册  /  ...  /  从二进制发行版安装 NDB 集群

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

本节介绍使用 Oracle 提供的二进制“免安装 NDB 集群发行版,在 Windows 上进行 NDB 集群的基本安装,使用本节开头概述的相同的 4 节点设置(请参阅 第 25.3 节,“NDB 集群安装”),如下表所示

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

节点 IP 地址
管理节点 (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 二进制文件所需的步骤。

注意

与其他 Windows 程序一样,NDB 集群可执行文件的名称带有 .exe 文件扩展名。但是,从命令行调用这些程序时,不需要包含 .exe 扩展名。因此,在本文档中,我们通常将这些程序简称为 mysqldmysqlndb_mgmd 等。您应该明白,无论我们指的是(例如)mysqld 还是 mysqld.exe,这两个名称的含义相同(都是 MySQL 服务器程序)。

要使用 Oracles 的 no-install 二进制文件设置 NDB 集群,安装过程的第一步是从 https://dev.mysqlserver.cn/downloads/cluster/ 下载最新的 NDB 集群 Windows ZIP 二进制存档。此存档的文件名为 mysql-cluster-gpl-ver-winarch.zip,其中 verNDB 存储引擎版本(例如 8.4.0),arch 是体系结构(32 表示 32 位二进制文件,64 表示 64 位二进制文件)。例如,适用于 64 位 Windows 系统的 NDB 集群 8.4.0 存档名为 mysql-cluster-gpl-8.4.0-win64.zip

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

为了最大程度地减少需要从 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 以外的位置,则在启动 SQL 节点时,必须在命令行上使用额外的配置选项,或者将这些选项添加到 my.inimy.cnf 文件中。有关在非标准位置配置 MySQL 服务器的更多信息,请参阅 第 2.3.3 节,“配置:手动”

为了使支持 NDB 集群的 MySQL 服务器作为 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 节点的安装和设置完成。

数据节点。 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 存档的计算机上,在 C:\mysql\bin 目录中找到 ndbd.exe。将此文件复制到两个数据节点主机上的 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 集群管理客户端程序 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 集群中每个节点的部分,以及管理节点和所有数据节点的 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

重要

在 Windows 上指定 NDB 集群使用的程序选项或配置文件中的目录路径时,不能使用单个反斜杠字符 (\)。 而是必须使用第二个反斜杠 (\\) 转义每个反斜杠字符,或者将反斜杠字符替换为正斜杠字符 (/)。 例如,NDB 集群 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 集群程序选项和配置文件中使用的目录路径中使用正斜杠。