文档主页
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 参考手册  /  ...  /  在 Windows 上启动 NDB 集群

25.3.2.3 在 Windows 上启动 NDB 集群

一旦 NDB 集群可执行文件和所需的配置文件到位,执行集群的初始启动只需启动集群中所有节点的 NDB 集群可执行文件即可。每个集群节点进程必须单独启动,并在其所在的宿主机上启动。管理节点应首先启动,然后是数据节点,最后是任何 SQL 节点。

  1. 在管理节点宿主机上,从命令行发出以下命令以启动管理节点进程。输出应该类似于此处显示的内容

    C:\mysql\bin> ndb_mgmd
    2010-06-23 07:53:34 [MgmtSrvr] INFO -- NDB Cluster Management Server. mysql-8.4.0-ndb-8.4.0
    2010-06-23 07:53:34 [MgmtSrvr] INFO -- Reading cluster configuration from 'config.ini'

    管理节点进程继续将日志输出打印到控制台。这是正常的,因为管理节点没有作为 Windows 服务运行。(如果您在类 Unix 平台(如 Linux)上使用过 NDB 集群,您可能会注意到,Windows 上管理节点在这方面的默认行为与其在 Unix 系统上的行为实际上相反,在 Unix 系统上,默认情况下它作为 Unix 守护进程运行。对于在 Windows 上运行的 NDB 集群数据节点进程,这种行为也是如此。)因此,请勿关闭运行 ndb_mgmd.exe 的窗口;这样做会杀死管理节点进程。(请参阅 第 25.3.2.4 节,“将 NDB 集群进程安装为 Windows 服务”,其中我们将展示如何将 NDB 集群进程安装和运行为 Windows 服务。)

    所需的 -f 选项告诉管理节点在哪里可以找到全局配置文件 (config.ini)。此选项的长格式为 --config-file

    重要

    NDB 集群管理节点会缓存它从 config.ini 读取的配置数据;一旦创建了配置缓存,除非被强制,否则它会在后续启动时忽略 config.ini 文件。这意味着,如果管理节点由于此文件中的错误而无法启动,则必须在更正其中的任何错误后使管理节点重新读取 config.ini。您可以通过在命令行中使用 ndb_mgmd.exe--reload--initial 选项来启动它。这两个选项都可以刷新配置缓存。

    在管理节点的 my.ini 文件中使用这些选项是不必要或不可取的。

  2. 在每个数据节点宿主机上,运行此处显示的命令以启动数据节点进程

    C:\mysql\bin> ndbd
    2010-06-23 07:53:46 [ndbd] INFO -- Configuration fetched from 'localhost:1186', generation: 1

    在每种情况下,数据节点进程的第一行输出应类似于前面示例中显示的内容,并在其后跟随其他几行日志输出。与管理节点进程一样,这是正常的,因为数据节点没有作为 Windows 服务运行。因此,请勿关闭运行数据节点进程的控制台窗口;这样做会杀死 ndbd.exe。(有关更多信息,请参阅 第 25.3.2.4 节,“将 NDB 集群进程安装为 Windows 服务”。)

  3. 现在先不要启动 SQL 节点;在数据节点完成启动之前,它无法连接到集群,这可能需要一些时间。相反,在管理节点宿主机上的新控制台窗口中,启动 NDB 集群管理客户端 ndb_mgm.exe,它应该位于管理节点宿主机上的 C:\mysql\bin 中。(不要尝试通过键入 CTRL+C 来重用运行 ndb_mgmd.exe 的控制台窗口,因为这会杀死管理节点。)结果输出应如下所示

    C:\mysql\bin> ndb_mgm
    -- NDB Cluster -- Management Client --
    ndb_mgm>

    当出现提示符 ndb_mgm> 时,表示管理客户端已准备好接收 NDB 集群管理命令。您可以通过在管理客户端提示符处输入 ALL STATUS 来观察数据节点启动时的状态。此命令会导致数据节点启动序列的运行报告,该报告应类似于以下内容

    ndb_mgm> ALL STATUS
    Connected to Management Server at: localhost:1186 (using cleartext)
    Node 2: starting (Last completed phase 3) (mysql-8.4.0-ndb-8.4.0)
    Node 3: starting (Last completed phase 3) (mysql-8.4.0-ndb-8.4.0)
    
    Node 2: starting (Last completed phase 4) (mysql-8.4.0-ndb-8.4.0)
    Node 3: starting (Last completed phase 4) (mysql-8.4.0-ndb-8.4.0)
    
    Node 2: Started (version 8.4.0)
    Node 3: Started (version 8.4.0)
    
    ndb_mgm>
    注意

    在管理客户端中发出的命令不区分大小写;我们使用大写作为这些命令的规范形式,但在将它们输入 ndb_mgm 客户端时,您无需遵守此约定。有关更多信息,请参阅 第 25.6.1 节,“NDB 集群管理客户端中的命令”

    ALL STATUS 生成的输出可能与此处显示的不同,具体取决于数据节点能够启动的速度、您使用的 NDB 集群软件的版本号以及其他因素。重要的是,当您看到两个数据节点都已启动时,就可以启动 SQL 节点了。

    您可以保持 ndb_mgm.exe 运行;它对 NDB 集群的性能没有负面影响,并且我们在下一步中使用它来验证 SQL 节点在您启动它后是否已连接到集群。

  4. 在指定为 SQL 节点宿主的计算机上,打开控制台窗口并导航到解压缩 NDB 集群二进制文件的目录(如果您按照我们的示例进行操作,则为 C:\mysql\bin)。

    通过从命令行调用 mysqld.exe 来启动 SQL 节点,如下所示

    C:\mysql\bin> mysqld --console

    --console 选项会导致日志信息被写入控制台,这在出现问题时会有所帮助。(一旦您确定 SQL 节点以令人满意的方式运行,您可以将其停止并重新启动它,而无需使用 --console 选项,以便正常执行日志记录。)

    在管理节点宿主机上运行管理客户端 (ndb_mgm.exe) 的控制台窗口中,输入 SHOW 命令,该命令应生成类似于以下内容的输出

    ndb_mgm> SHOW
    Connected to Management Server at: localhost:1186 (using cleartext)
    Cluster Configuration
    ---------------------
    [ndbd(NDB)]     2 node(s)
    id=2    @198.51.100.30  (Version: 8.4.0-ndb-8.4.0, Nodegroup: 0, *)
    id=3    @198.51.100.40  (Version: 8.4.0-ndb-8.4.0, Nodegroup: 0)
    
    [ndb_mgmd(MGM)] 1 node(s)
    id=1    @198.51.100.10  (Version: 8.4.0-ndb-8.4.0)
    
    [mysqld(API)]   1 node(s)
    id=4    @198.51.100.20  (Version: 8.4.0-ndb-8.4.0)

    您还可以在 mysql 客户端 (mysql.exe) 中使用 SHOW ENGINE NDB STATUS 语句来验证 SQL 节点是否已连接到 NDB 集群。

您现在应该可以使用 NDB 集群的 NDBCLUSTER 存储引擎来处理数据库对象和数据。有关更多信息和示例,请参阅 第 25.3.5 节,“具有表和数据的 NDB 集群示例”

您还可以将 ndb_mgmd.exendbd.exendbmtd.exe 安装为 Windows 服务。有关如何执行此操作的信息,请参阅 第 25.3.2.4 节,“将 NDB 集群进程安装为 Windows 服务”)。