文档首页
MySQL 9.0 参考手册
相关文档 下载本手册
PDF (US Ltr) - 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 集群

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-9.0.0-ndb-9.0.0
    2010-06-23 07:53:34 [MgmtSrvr] INFO -- Reading cluster configuration from 'config.ini'

    管理节点进程继续将日志输出打印到控制台。这是正常的,因为管理节点没有作为 Windows 服务运行。(如果您在 Linux 等类 Unix 平台上使用过 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。您可以通过在命令行上使用 --reload--initial 选项启动 ndb_mgmd.exe 来做到这一点。这两种选项都可以刷新配置缓存。

    在管理节点的 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-9.0.0-ndb-9.0.0)
    Node 3: starting (Last completed phase 3) (mysql-9.0.0-ndb-9.0.0)
    
    Node 2: starting (Last completed phase 4) (mysql-9.0.0-ndb-9.0.0)
    Node 3: starting (Last completed phase 4) (mysql-9.0.0-ndb-9.0.0)
    
    Node 2: Started (version 9.0.0)
    Node 3: Started (version 9.0.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: 9.0.0-ndb-9.0.0, Nodegroup: 0, *)
    id=3    @198.51.100.40  (Version: 9.0.0-ndb-9.0.0, Nodegroup: 0)
    
    [ndb_mgmd(MGM)] 1 node(s)
    id=1    @198.51.100.10  (Version: 9.0.0-ndb-9.0.0)
    
    [mysqld(API)]   1 node(s)
    id=4    @198.51.100.20  (Version: 9.0.0-ndb-9.0.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 服务”)。