文档首页
MySQL 9.0 参考手册
相关文档 下载本手册
PDF (美国信纸) - 40.0Mb
PDF (A4) - 40.1Mb
手册页 (TGZ) - 258.2Kb
手册页 (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 参考手册  /  ...  /  从二进制版本在 Windows 上安装 NDB Cluster

25.3.2.1 从二进制版本在 Windows 上安装 NDB Cluster

本节描述了使用 Oracle 提供的二进制 免安装 NDB Cluster 版本在 Windows 上安装 NDB Cluster 的基本方法,使用本节开头概述的相同 4 节点设置(参见 第 25.3 节,“NDB Cluster 安装”),如以下表格所示

表 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 Cluster 主机必须安装 MySQL 服务器二进制文件 (mysqld.exe)。您还应该在该主机上拥有 MySQL 客户端 (mysql.exe)。对于管理节点和数据节点,不必安装 MySQL 服务器二进制文件;但是,每个管理节点都需要管理服务器守护程序 (ndb_mgmd.exe);每个数据节点都需要数据节点守护程序 (ndbd.exendbmtd.exe)。在本示例中,我们将 ndbd.exe 称为数据节点可执行文件,但您可以安装 ndbmtd.exe,该程序的多线程版本,以完全相同的方式。您还应该在管理服务器主机上安装管理客户端 (ndb_mgm.exe)。本节介绍安装每个类型 NDB Cluster 节点所需的正确 Windows 二进制文件所需的步骤。

注意

与其他 Windows 程序一样,NDB Cluster 可执行文件使用 .exe 文件扩展名命名。但是,从命令行调用这些程序时,不必包含 .exe 扩展名。因此,我们通常在这份文档中简单地将这些程序称为 mysqldmysqlndb_mgmd 等。您应该理解,无论我们指的是 mysqld 还是 mysqld.exe,这两个名称都表示相同的意思(MySQL 服务器程序)。

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

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

为了最大程度地减少从互联网下载或在机器之间复制的文件数量,我们从您打算运行 SQL 节点的计算机开始。

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

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

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

为了使具有 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.3.2 节,“创建选项文件”),但该文件至少必须包含显示的选项。将此文件保存为 C:\mysql\my.ini。这完成了 SQL 节点的安装和设置。

数据节点。 Windows 主机上的 NDB Cluster 数据节点只需要一个可执行文件,可以是 ndbd.exendbmtd.exe。在本示例中,我们假设您使用的是 ndbd.exe,但相同说明适用于使用 ndbmtd.exe 的情况。在您希望运行数据节点的每台计算机上(IP 地址为 198.51.100.30 和 198.51.100.40 的计算机),创建目录 C:\mysqlC:\mysql\binC:\mysql\cluster-data;然后,在您下载并解压缩 免安装 存档的计算机上,在 C:\mysql\bin 目录中找到 ndbd.exe。将此文件复制到两个数据节点主机上的 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。在您下载并解压缩 免安装 存档的计算机上找到这两个程序;这应该是 SQL 节点主机上的 C:\mysql\bin 目录。在 IP 地址为 198.51.100.10 的计算机上创建目录 C:\mysql\bin,然后将这两个程序复制到该目录中。

您现在应该为 ndb_mgmd.exe 创建两个配置文件

  1. 一个本地配置文件,用于提供特定于管理节点本身的配置数据。通常,此文件只需要提供 NDB Cluster 全局配置文件的位置(参见第 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 配置参数)。建议还包括以下其他信息

    使用文本编辑器(例如 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

重要

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