Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

MySQL 8.3 Reference Manual  /  ...  /  Initial Startup of NDB Cluster on Windows

25.3.2.3 NDB 集群在 Windows 上的初始启动

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

  1. 在管理节点主机上,从命令行发出以下命令以启动管理节点进程。输出应该类似于这里所示:

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

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

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

    Important

    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 的控制台窗口;这样做将杀死 ndbd.exe。(更多信息,请参见 第 25.3.2.4 节,“将 NDB 集群进程安装为 Windows 服务”。)

  3. 不要启动 SQL 节点;它不能连接到集群,直到数据节点完成启动,这可能需要一些时间。相反,在管理节点主机上的新控制台窗口中,启动 NDB 集群管理客户端 ndb_mgm.exe,它应该在 C:\mysql\bin 中。不要尝试重新使用运行 ndb_mgmd.exe 的控制台窗口通过键入 CTRL+C,因为这将杀死管理节点。)输出应该类似于这样:

    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
    Node 2: starting (Last completed phase 3) (mysql-8.3.0-ndb-8.3.0)
    Node 3: starting (Last completed phase 3) (mysql-8.3.0-ndb-8.3.0)
    
    Node 2: starting (Last completed phase 4) (mysql-8.3.0-ndb-8.3.0)
    Node 3: starting (Last completed phase 4) (mysql-8.3.0-ndb-8.3.0)
    
    Node 2: Started (version 8.3.0)
    Node 3: Started (version 8.3.0)
    
    ndb_mgm>
    Note

    在管理客户端中输入的命令不区分大小写;我们使用大写形式作为这些命令的规范形式,但您在输入它们时不需要遵守这种约定。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
    Cluster Configuration
    ---------------------
    [ndbd(NDB)]     2 node(s)
    id=2    @198.51.100.30  (Version: 8.3.0-ndb-8.3.0, Nodegroup: 0, *)
    id=3    @198.51.100.40  (Version: 8.3.0-ndb-8.3.0, Nodegroup: 0)
    
    [ndb_mgmd(MGM)] 1 node(s)
    id=1    @198.51.100.10  (Version: 8.3.0-ndb-8.3.0)
    
    [mysqld(API)]   1 node(s)
    id=4    @198.51.100.20  (Version: 8.3.0-ndb-8.3.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 服务”)。