### 23.5.1 ndbd — NDB 集群数据节点守护进程

[](<>)[](<>)[](<>)[](<>)[](<>)

[**ndbd**](mysql-cluster-programs-ndbd.html)是用于使用 NDB Cluster 存储引擎处理表中所有数据的过程。这是授权数据节点完成分布式事务处理、节点恢复、磁盘检查点、在线备份和相关任务的过程。

在 NDB Cluster 中，一组[**ndbd**](mysql-cluster-programs-ndbd.html)进程合作处理数据。这些进程可以在同一台计算机（主机）或不同计算机上执行。数据节点和集群主机之间的对应关系是完全可配置的。

[](<>)[](<>)[](<>)[](<>)

可以使用的选项[**ndbd**](mysql-cluster-programs-ndbd.html)如下表所示。附加说明如下表。

[](<>)

**表 23.24 与程序 ndbd 一起使用的命令行选项**

| 格式 | 描述 | 添加、弃用或删除 |
| --- | --- | -------- |
| `[--bind-address=name](mysql-cluster-programs-ndbd.html#option_ndbd_bind-address)` | 本地绑定地址 | （所有基于 MySQL 8.0 的 NDB 版本都支持） |
| `[--character-sets-dir=path](mysql-cluster-programs-ndbd.html#option_ndbd_character-sets-dir)` | 包含字符集的目录 | （所有基于 MySQL 8.0 的 NDB 版本都支持） |
| `[--connect-delay=#](mysql-cluster-programs-ndbd.html#option_ndbd_connect-delay)` | --connect-retry-delay 的过时同义词，应使用它代替此选项 | 已移除：新开发银行 8.0.28 |
| `[--connect-retries=#](mysql-cluster-programs-ndbd.html#option_ndbd_connect-retries)` | 设置放弃前重试连接的次数；0 表示仅尝试 1 次（不重试）；-1 表示无限期地继续重试 | （所有基于 MySQL 8.0 的 NDB 版本都支持） |
| `[--connect-retry-delay=#](mysql-cluster-programs-ndbd.html#option_ndbd_connect-retry-delay)` | 尝试联系管理服务器之间的等待时间，以秒为单位；0 表示尝试之间不等待 | （所有基于 MySQL 8.0 的 NDB 版本都支持） |
| `[--connect-string=connection_string](mysql-cluster-programs-ndbd.html#option_ndbd_connect-string)`,<br/><br/>`[-c connection_string](mysql-cluster-programs-ndbd.html#option_ndbd_connect-string)` | 与 --ndb-connectstring 相同 | （所有基于 MySQL 8.0 的 NDB 版本都支持） |
| `[--core-file](mysql-cluster-programs-ndbd.html#option_ndbd_core-file)` | 错误时写入核心文件；用于调试 | （所有基于 MySQL 8.0 的 NDB 版本都支持） |
| `[--daemon](mysql-cluster-programs-ndbd.html#option_ndbd_daemon)`,<br/><br/>`[-d](mysql-cluster-programs-ndbd.html#option_ndbd_daemon)` | 启动 ndbd 作为守护进程（默认）；用 --nodaemon 覆盖 | （所有基于 MySQL 8.0 的 NDB 版本都支持） |
| `[--defaults-extra-file=path](mysql-cluster-programs-ndbd.html#option_ndbd_defaults-extra-file)` | 读取全局文件后读取给定文件 | （所有基于 MySQL 8.0 的 NDB 版本都支持） |
| `[--defaults-file=path](mysql-cluster-programs-ndbd.html#option_ndbd_defaults-file)` | 仅从给定文件中读取默认选项 | （所有基于 MySQL 8.0 的 NDB 版本都支持） |
| `[--defaults-group-suffix=string](mysql-cluster-programs-ndbd.html#option_ndbd_defaults-group-suffix)` | 还阅读带有 concat(group, suffix) 的组 | （所有基于 MySQL 8.0 的 NDB 版本都支持） |
| `[--foreground](mysql-cluster-programs-ndbd.html#option_ndbd_foreground)` | 在前台运行 ndbd，用于调试目的（隐含 --nodaemon） | （所有基于 MySQL 8.0 的 NDB 版本都支持） |
| `[--help](mysql-cluster-programs-ndbd.html#option_ndbd_help)`,<br/><br/>`[-?](mysql-cluster-programs-ndbd.html#option_ndbd_help)` | 显示帮助文本并退出 | （所有基于 MySQL 8.0 的 NDB 版本都支持） |
| `[--initial](mysql-cluster-programs-ndbd.html#option_ndbd_initial)` | 执行 ndbd 的初始启动，包括文件系统清理；使用此选项之前请查阅文档 | （所有基于MySQL 8.0的NDB版本都支持） |
| `[--initial start]（mysql集群程序ndbd.html#选项_ndbd_initial-start）` | 执行部分初始启动（需要--nowait节点） | （所有基于MySQL 8.0的NDB版本都支持） |
| `[--install[=name]]（mysql集群程序ndbd.html#option_ndbd_install）` | 用于将数据节点进程安装为Windows服务；不适用于其他平台 | （所有基于MySQL 8.0的NDB版本都支持） |
| `[--logbuffer size=#]（mysql集群程序ndbd.html#option_ndbd_logbuffer-size）` | 控制日志缓冲区的大小；用于调试生成的多条日志消息；默认值足以满足正常操作 | （所有基于MySQL 8.0的NDB版本都支持） |
| `[--login path=path]（mysql集群程序ndbd.html#option_ndbd_login-path）` | 从登录文件读取给定路径 | （所有基于MySQL 8.0的NDB版本都支持） |
| `[--ndb connectstring=connection_string]（mysql集群程序ndbd.html#option_ndbd_ndb-connectstring）`,<br/><br/>`[-c connection_string]（mysql集群程序ndbd.html#option_ndbd_ndb-connectstring）` | 设置连接到ndb的连接字符串\_mgmd。语法：“[nodeid=id；][host=]主机名[：端口:]“。覆盖NDB中的条目\_连接字符串和我的。cnf | （所有基于MySQL 8.0的NDB版本都支持） |
| `[--ndb mgmd host=connection_string]（mysql集群程序ndbd.html#option_ndbd_ndb-mgmd-host）`,<br/><br/>`[-c connection_string]（mysql集群程序ndbd.html#option_ndbd_ndb-mgmd-host）` | 与--ndb connectstring相同 | （所有基于MySQL 8.0的NDB版本都支持） |
| `[--ndb nodeid=#]（mysql集群程序ndbd.html#option_ndbd_ndb-nodeid）` | 设置此节点的节点ID，覆盖由--ndb connectstring设置的任何ID | （所有基于MySQL 8.0的NDB版本都支持） |
| `[--nodaemon]（mysql集群程序ndbd.html#option_ndbd_nodaemon）` | 不要将ndbd作为守护进程启动；用于测试目的 | （所有基于MySQL 8.0的NDB版本都支持） |
| `[--无默认值]（mysql集群程序ndbd.html#选项_ndbd_无默认值）` | 不要从登录文件以外的任何选项文件中读取默认选项 | （所有基于MySQL 8.0的NDB版本都支持） |
| `[--nostart]（mysql集群程序ndbd.html#option_ndbd_nostart）`,<br/><br/>`[-n]（mysql集群程序ndbd.html#选项_ndbd_nostart）` | 不要立即启动ndbd；ndbd等待命令从ndb启动\_米高梅 | （所有基于MySQL 8.0的NDB版本都支持） |
| `[--nowait nodes=list]（mysql集群程序ndbd.html#option_ndbd_nowait-nodes）` | 不要等待这些数据节点启动（采用逗号分隔的节点ID列表）；需要--ndb节点ID | （所有基于MySQL 8.0的NDB版本都支持） |
| `[--ndb优化节点选择]（mysql集群程序ndbd.html#option_ndbd_ndb-optimized-node-selection）` | 启用事务节点选择的优化。默认启用；使用--跳过ndb优化节点选择以禁用 | （所有基于MySQL 8.0的NDB版本都支持） |
| `[--print defaults]（mysql集群程序ndbd.html#选项_ndbd_print-defaults）` | 打印程序参数列表并退出 | （所有基于MySQL 8.0的NDB版本都支持） |
| `[--remove[=name]]（mysql集群程序ndbd.html#option_ndbd_remove）` | 用于删除以前作为Windows服务安装的数据节点进程；不适用于其他平台 | （所有基于MySQL 8.0的NDB版本都支持） |
| `[--用法]（mysql集群程序ndbd.html#选项_ndbd_用法）`,<br/><br/>`[-?]（mysql集群程序ndbd.html#选项_ndbd_用法）` | 显示帮助文本并退出；跟…救命 | （所有基于MySQL 8.0的NDB版本都支持） |
| `[--verbose]（mysql集群程序ndbd.html#选项_ndbd_verbose）`,<br/><br/>`[-v]（mysql集群程序ndbd.html#option_ndbd_verbose）` | 将额外的调试信息写入节点日志 | （所有基于MySQL 8.0的NDB版本都支持） |
| `[--version]（mysql集群程序ndbd.html#optionndbd_version）`,<br/><br/>`[-V]（mysql集群程序ndbd.html#option_ndbd_版本）` | 显示版本信息并退出 | （所有基于MySQL 8.0的NDB版本都支持） |

笔记

所有这些选项也适用于该程序的多线程版本([**ndbmtd**](mysql-cluster-programs-ndbmtd.html))你可以替换“[**ndbmtd**](mysql-cluster-programs-ndbmtd.html)“为了”[**ndbd**](mysql-cluster-programs-ndbd.html)“后者出现在本节中的任何地方。

-   [](<>) `--绑定地址`

    | 命令行格式 | `--绑定地址=名称` |
    | ----- | ----------- |
    | 类型 | 一串 |
    | 默认值 | `` |

    原因[**ndbd**](mysql-cluster-programs-ndbd.html)绑定到特定的网络接口（主机名或IP地址）。此选项没有默认值。

-   [](<>) `--字符集目录`

    [](<>)[](<>)

    | 命令行格式 | `--字符集dir=path` |
    | ----- | --------------- |

    包含字符集的目录。

-   [](<>) `--连接延迟=*`#`*`

    [](<>)[](<>)[](<>)[](<>)

    | 命令行格式 | `--连接延迟=#` |
    | ----- | ---------- |
    | 反对 | 是（在8.0.28-ndb-8.0.28中删除） |
    | 类型 | 数字的 |
    | 默认值 | `5.` |
    | 最小值 | `0` |
    | 最大值 | `3600` |

    确定启动时尝试联系管理服务器之间的等待时间（尝试次数由[`--连接重试`](mysql-cluster-programs-ndbd.html#option_ndbd_connect-retries)选项）。默认值为5秒。

    此选项已被弃用，可能会在NDB Cluster的未来版本中删除。使用[`--连接重试延迟`](mysql-cluster-programs-ndbd.html#option_ndbd_connect-retry-delay)相反

-   [](<>) `--连接重试=*`#`*`

    [](<>)[](<>)[](<>)[](<>)

    | 命令行格式 | `--连接重试=#` |
    | ----- | ---------- |
    | 类型 | 数字的 |
    | 默认值 | `12` |
    | 最小值(≥ 8.0.28-ndb-8.0.28） | `-1` |
    | 最小值 | `-1` |
    | 最小值 | `-1` |
    | 最小值(≤ 8.0.27-ndb-8.0.27） | `0` |
    | 最大值 | `65535` |

    设置放弃前重试连接的次数；0表示仅尝试1次（不重试）。默认为12次尝试。尝试之间的等待时间由[`--连接重试延迟`](mysql-cluster-programs-ndbd.html#option_ndbd_connect-retry-delay)选项

    从NDB 8.0.28开始，可以将此选项设置为-1，在这种情况下，数据节点进程将无限期地继续尝试连接。

-   [](<>) `--连接重试延迟=*`#`*`

    [](<>)[](<>)[](<>)[](<>)

    | 命令行格式 | `--连接重试延迟=#` |
    | ----- | ------------ |
    | 类型 | 数字的 |
    | 默认值 | `5.` |
    | 最小值 | `0` |
    | 最大值 | `4294967295` |

    确定启动时尝试联系管理服务器之间的等待时间（尝试之间的时间由[`--连接重试`](mysql-cluster-programs-ndbd.html#option_ndbd_connect-retries)选项）。默认值为5秒。

    此选项将取代[`--连接延迟`](mysql-cluster-programs-ndbd.html#option_ndbd_connect-delay)选项，该选项现在已被弃用，并可能在NDB Cluster的未来版本中删除。

    缩写形式`-r`因为从NDB 8.0.28开始，此选项已被弃用，并可能在NDB Cluster的未来版本中删除。改为使用长格式。

-   [](<>) `--连接字符串`

    [](<>)[](<>)

    | 命令行格式 | `--连接字符串=连接字符串` |
    | ----- | --------------- |
    | 类型 | 一串 |
    | 默认值 | `[无]` |

    等同于[`--ndb连接字符串`](mysql-cluster-programs-ndbd.html#option_ndbd_ndb-connectstring).

-   [](<>) `--核心文件`

    [](<>)[](<>)

    | 命令行格式 | `--核心文件` |
    | ----- | -------- |

    错误时写入核心文件；用于调试。

-   [](<>) `--守护进程`, `-d`

    | 命令行格式 | `--守护进程` |
    | ----- | -------- |

    指示[**ndbd**](mysql-cluster-programs-ndbd.html)或[**ndbmtd**](mysql-cluster-programs-ndbmtd.html)作为守护进程执行。这是默认行为。[`--诺达蒙`](mysql-cluster-programs-ndbd.html#option_ndbd_nodaemon)可以用来阻止进程作为守护进程运行。

    此选项在运行时无效[**ndbd**](mysql-cluster-programs-ndbd.html)或[**ndbmtd**](mysql-cluster-programs-ndbmtd.html)在Windows平台上。

-   [](<>) `--默认额外文件`

    [](<>)[](<>)

    | 命令行格式 | `--默认额外文件=路径` |
    | ----- | ------------- |
    | 类型 | 一串 |
    | 默认值 | `[无]` |

    读取全局文件后读取给定文件。

-   [](<>) `--默认文件`

    [](<>)[](<>)

    | 命令行格式 | `--默认文件=路径` |
    | ----- | ----------- |
    | 类型 | 一串 |
    | 默认值 | `[无]` |

    仅从给定文件读取默认选项。

-   [](<>) `--默认组后缀`

    [](<>)[](<>)

    | 命令行格式 | `--默认组后缀=字符串` |
    | ----- | ------------- |
    | 类型 | 一串 |
    | 默认值 | `[无]` |

    同时阅读带有concat（组，后缀）的组。

-   [](<>) `--前景`

    | 命令行格式 | `--前景` |
    | ----- | ------ |

    原因[**ndbd**](mysql-cluster-programs-ndbd.html)或[**ndbmtd**](mysql-cluster-programs-ndbmtd.html)作为前台进程执行，主要用于调试目的。这个选项意味着[`--诺达蒙`](mysql-cluster-programs-ndbd.html#option_ndbd_nodaemon)选项

    此选项在运行时无效[**ndbd**](mysql-cluster-programs-ndbd.html)或[**ndbmtd**](mysql-cluster-programs-ndbmtd.html)在Windows平台上。

-   [](<>) `--救命`

    [](<>)[](<>)

    | 命令行格式 | `--救命` |
    | ----- | ------ |

    显示帮助文本并退出。

-   [](<>) `--首字母`

    [](<>)[](<>)[](<>)[](<>)

    | 命令行格式 | `--首字母` |
    | ----- | ------- |

    指示[**ndbd**](mysql-cluster-programs-ndbd.html)执行初始启动。初始启动会擦除早期实例为恢复目的创建的任何文件[**ndbd**](mysql-cluster-programs-ndbd.html)。它还会重新创建恢复日志文件。在某些操作系统上，此过程可能需要相当长的时间。

    一[`--首字母`](mysql-cluster-programs-ndbd.html#option_ndbd_initial)开始使用*只有*当启动[**ndbd**](mysql-cluster-programs-ndbd.html)在非常特殊的情况下处理；这是因为此选项会导致从NDB群集文件系统中删除所有文件，并重新创建所有重做日志文件。以下列出了这些情况：

    -   当执行软件升级时，任何文件的内容都发生了变化。

    -   使用新版本的重新启动节点时[**ndbd**](mysql-cluster-programs-ndbd.html).

    -   当由于某种原因节点重启或系统重启多次失败时，作为最后手段。在这种情况下，请注意，由于数据文件被破坏，此节点不能再用于恢复数据。

    警告

    为避免最终数据丢失的可能性，建议您*不*使用`--首字母`选择连同`StopOnError=0`.取而代之的是`StopOnError`到0英寸`配置。伊尼`只有在集群启动后，才能正常重启数据节点，也就是说，不需要`--首字母`选项请参见对[`StopOnError`](mysql-cluster-ndbd-definition.html#ndbparam-ndbd-stoponerror)用于详细解释此问题的参数。（臭虫#24945638）

    使用此选项可防止[`StartPartialTimeout`](mysql-cluster-ndbd-definition.html#ndbparam-ndbd-startpartialtimeout)和[`StartPartitionedTimeout`](mysql-cluster-ndbd-definition.html#ndbparam-ndbd-startpartitionedtimeout)配置参数不会产生任何影响。

    重要的

    这个选项可以*不*影响受影响节点已创建的备份文件。

    在NDB 8.0.21之前`--首字母`选项也不会影响任何磁盘数据文件。在NDB 8.0.21及更高版本中，当用于执行集群的初始重启时，该选项会导致删除与磁盘数据表空间关联的所有数据文件，并撤消与以前在此数据节点上存在的日志文件组关联的日志文件（请参阅[第23.6.10节，“NDB群集磁盘数据表”](mysql-cluster-disk-data.html)).

    此选项对刚从已运行的数据节点启动（或重新启动）的数据节点的数据恢复也没有影响（除非它们也是以`--首字母`，作为初始重启的一部分）。这种数据恢复是自动进行的，在正常运行的NDB集群中不需要用户干预。

    第一次启动集群时（即在创建任何数据节点文件之前），允许使用此选项；然而，事实的确如此*不*必须这样做。

-   [](<>) `--初始启动`

    [](<>)[](<>)[](<>)[](<>)

    | 命令行格式 | `--初始启动` |
    | ----- | -------- |

    在执行集群的部分初始启动时使用此选项。每个节点都应该使用此选项启动，以及[`--nowait节点`](mysql-cluster-programs-ndbd.html#option_ndbd_nowait-nodes).

    假设您有一个4节点集群，其数据节点的ID为2、3、4和5，并且您希望仅使用节点2、4和5执行部分初始启动，即忽略节点3：

    ```
    $> ndbd --ndb-nodeid=2 --nowait-nodes=3 --initial-start
    $> ndbd --ndb-nodeid=4 --nowait-nodes=3 --initial-start
    $> ndbd --ndb-nodeid=5 --nowait-nodes=3 --initial-start
    ```

    使用此选项时，还必须为使用[`--ndb节点ID`](mysql-cluster-programs-ndbd.html#option_ndbd_ndb-nodeid)选项

    重要的

    不要将此选项与[`--nowait节点`](mysql-cluster-programs-ndb-mgmd.html#option_ndb_mgmd_nowait-nodes)选择[**ndb\_管理节点**](mysql-cluster-programs-ndb-mgmd.html)，可用于启动配置了多个管理服务器的群集，而无需所有管理服务器都处于联机状态。

-   [](<>) `--安装[=*`名称`*]`

    [](<>)[](<>)[](<>)[](<>)

    | 命令行格式 | `--安装[=名称]` |
    | ----- | ----------- |
    | 特定平台 | 窗户 |
    | 类型 | 一串 |
    | 默认值 | `ndbd` |

    原因[**ndbd**](mysql-cluster-programs-ndbd.html)要作为Windows服务安装。或者，您可以指定服务的名称；如果未设置，则服务名称默认为`ndbd`.尽管最好指定其他[**ndbd**](mysql-cluster-programs-ndbd.html)程序选项`我的伊尼`或`我的cnf`配置文件，可以与`--安装`.然而，在这种情况下`--安装`在给出任何其他选项之前，必须先指定选项，Windows服务安装才能成功。

    通常不建议将此选项与[`--首字母`](mysql-cluster-programs-ndbd.html#option_ndbd_initial)选项，因为这会导致每次停止和启动服务时删除和重建数据节点文件系统。如果你打算使用其他任何一种，也应该格外小心[**ndbd**](mysql-cluster-programs-ndbd.html)影响数据节点启动的选项包括[`--初始启动`](mysql-cluster-programs-ndbd.html#option_ndbd_initial-start), [`--诺斯特`](mysql-cluster-programs-ndbd.html#option_ndbd_nostart)和[`--nowait节点`](mysql-cluster-programs-ndbd.html#option_ndbd_nowait-nodes)-连同[`--安装`](mysql-cluster-programs-ndbd.html#option_ndbd_install)，你应该绝对确保你完全理解并考虑到这样做可能产生的任何后果。

    这个[`--安装`](mysql-cluster-programs-ndbd.html#option_ndbd_install)选项对非Windows平台没有影响。

-   [](<>) `--日志缓冲区大小=*`#`*`

    [](<>)[](<>)[](<>)[](<>)

    | 命令行格式 | `--日志缓冲区大小=#` |
    | ----- | ------------- |
    | 类型 | 整数 |
    | 默认值 | `32768` |
    | 最小值 | `2048` |
    | 最大值 | `4294967295` |

    设置数据节点日志缓冲区的大小。在使用大量额外日志进行调试时，如果日志消息太多，日志缓冲区可能会耗尽空间，在这种情况下，一些日志消息可能会丢失。正常操作期间不应出现这种情况。

-   [](<>) `--登录路径`

    [](<>)[](<>)

    | 命令行格式 | `--登录路径=路径` |
    | ----- | ----------- |
    | 类型 | 一串 |
    | 默认值 | `[无]` |

    从登录文件读取给定路径。

-   [](<>) `--ndb连接字符串`

    [](<>)[](<>)

    | 命令行格式 | `--ndb connectstring=连接字符串` |
    | ----- | --------------------------- |
    | 类型 | 一串 |
    | 默认值 | `[无]` |

    设置连接到ndb的连接字符串\_mgmd。语法：“[nodeid=id；][host=]主机名[：端口:]“。覆盖NDB中的条目\_连接字符串和我的。cnf。

-   [](<>) `--ndb mgmd主机`

    [](<>)[](<>)

    | 命令行格式 | `--ndb mgmd主机=连接\u字符串` |
    | ----- | ---------------------- |
    | 类型 | 一串 |
    | 默认值 | `[无]` |

    等同于[`--ndb连接字符串`](mysql-cluster-programs-ndbd.html#option_ndbd_ndb-connectstring).

-   [](<>) `--ndb节点ID`

    [](<>)[](<>)

    | 命令行格式 | `--ndb节点ID=#` |
    | ----- | ------------- |
    | 类型 | 整数 |
    | 默认值 | `[无]` |

    设置此节点的节点ID，覆盖由--ndb connectstring设置的任何ID。

-   [](<>) `--ndb优化节点选择`

    [](<>)[](<>)

    | 命令行格式 | `--ndb优化节点选择` |
    | ----- | ------------- |

    启用事务节点选择的优化。默认启用；使用`--跳过ndb优化节点选择`禁用。

-   [](<>) `--诺达蒙`

    | 命令行格式 | `--诺达蒙` |
    | ----- | ------- |

    阻止[**ndbd**](mysql-cluster-programs-ndbd.html)或[**ndbmtd**](mysql-cluster-programs-ndbmtd.html)作为守护进程执行。此选项将覆盖[`--守护进程`](mysql-cluster-programs-ndbd.html#option_ndbd_daemon)选项这对于调试二进制文件时将输出重定向到屏幕很有用。

    的默认行为[**ndbd**](mysql-cluster-programs-ndbd.html)和[**ndbmtd**](mysql-cluster-programs-ndbmtd.html)Windows上的应用程序将在前台运行，这使得该选项在Windows平台上不必要，因为在Windows平台上它没有任何效果。

-   [](<>) `--没有默认值`

    [](<>)[](<>)

    | 命令行格式 | `--没有默认值` |
    | ----- | --------- |

    不要从登录文件以外的任何选项文件中读取默认选项。

-   [](<>) `--诺斯特`, `-n`

    [](<>)[](<>)[](<>)[](<>)[](<>)[](<>)[](<>)[](<>)

    | 命令行格式 | `--诺斯特` |
    | ----- | ------- |

    指示[**ndbd**](mysql-cluster-programs-ndbd.html)不能自动启动。使用此选项时，[**ndbd**](mysql-cluster-programs-ndbd.html)连接到管理服务器，从中获取配置数据，并初始化通信对象。但是，在管理服务器明确请求之前，它实际上不会启动执行引擎。这可以通过发布适当的[`开始`](mysql-cluster-mgm-client-commands.html#ndbclient-start)管理客户端中的命令（请参阅[第23.6.1节，“NDB群集管理客户端中的命令”](mysql-cluster-mgm-client-commands.html)).

-   [](<>) `--nowait节点=*`节点\_id \_1`*[, *`节点id 2`*[, ...]]`

    [](<>)[](<>)[](<>)[](<>)

    | 命令行格式 | `--nowait节点=列表` |
    | ----- | --------------- |
    | 类型 | 一串 |
    | 默认值 | `` |

    此选项获取集群在启动之前不等待的数据节点列表。

    这可用于在分区状态下启动集群。例如，要在4节点集群中只有一半数据节点（节点2、3、4和5）运行的情况下启动集群，可以分别启动每个节点[**ndbd**](mysql-cluster-programs-ndbd.html)处理`--nowait节点=3,5`.在这种情况下，只要节点2和4连接，集群就会启动，并且*不*等待[`StartPartitionedTimeout`](mysql-cluster-ndbd-definition.html#ndbparam-ndbd-startpartitionedtimeout)节点3和节点5连接的时间为毫秒，否则将为毫秒。

    如果您想启动与上一个示例中相同的集群，而不启动集群[**ndbd**](mysql-cluster-programs-ndbd.html)（例如，假设节点3的主机出现硬件故障）然后使用`--nowait节点=3`。然后，只要节点2、4和5连接，集群就会启动，而不是等待节点3启动。

-   [](<>) `--打印默认值`

    [](<>)[](<>)

    | 命令行格式 | `--打印默认值` |
    | ----- | --------- |

    打印程序参数列表并退出。

-   [](<>) [`--移除[=*`名称`*]`](mysql-cluster-programs-ndbd.html#option_ndbd_remove)

    [](<>)[](<>)[](<>)[](<>)

    | 命令行格式 | `--删除` |
    | ----- | ------ |
    | 特定平台 | 窗户 |
    | 类型 | 一串 |
    | 默认值 | `ndbd` |

    导致[**ndbd**](mysql-cluster-programs-ndbd.html)以前作为Windows服务安装的进程将被删除。或者，您可以指定要卸载的服务的名称；如果未设置，则服务名称默认为`ndbd`.

    这个[`--移除`](mysql-cluster-programs-ndbd.html#option_ndbd_remove)选项对非Windows平台没有影响。

-   [](<>) `--用法`

    [](<>)[](<>)

    | 命令行格式 | `--用法` |
    | ----- | ------ |

    显示帮助文本并退出；和救命一样。

-   [](<>) `--冗长的`, `-五`

    [](<>)[](<>)[](<>)[](<>)

    导致额外的调试输出写入节点日志。

    你也可以使用[`NODELOG调试打开`](mysql-cluster-mgm-client-commands.html#ndbclient-nodelog-debug)和[`NODELOG调试关闭`](mysql-cluster-mgm-client-commands.html#ndbclient-nodelog-debug)在数据节点运行时启用和禁用此额外日志记录。

-   [](<>) `--版本`

    [](<>)[](<>)

    | 命令行格式 | `--版本` |
    | ----- | ------ |

    显示版本信息并退出。

[](<>)[](<>)

[**ndbd**](mysql-cluster-programs-ndbd.html)生成一组日志文件，这些文件位于[`数据目录`](mysql-cluster-ndbd-definition.html#ndbparam-ndbd-datadir)在`配置。伊尼`配置文件。

下面列出了这些日志文件。*`节点id`*是并表示节点的唯一标识符。例如`ndb_2_错误。日志`是由节点ID为的数据节点生成的错误日志`2.`.

-   [](<>) [](<>) `ndb_*`节点id`*_错误。日志`是一个包含引用的所有崩溃记录的文件[**ndbd**](mysql-cluster-programs-ndbd.html)过程遇到了问题。该文件中的每条记录都包含一个简短的错误字符串和对该崩溃的跟踪文件的引用。此文件中的典型条目可能如下所示：

    ```
    Date/Time: Saturday 30 July 2004 - 00:20:01
    Type of error: error
    Message: Internal program error (failed ndbrequire)
    Fault ID: 2341
    Problem data: DbtupFixAlloc.cpp
    Object of reference: DBTUP (Line: 173)
    ProgramName: NDB Kernel
    ProcessID: 14909
    TraceFile: ndb_2_trace.log.2
    ***EOM***
    ```

    可能出现的问题清单[**ndbd**](mysql-cluster-programs-ndbd.html)数据节点进程过早关闭时生成的退出代码和消息可以在中找到[数据节点错误消息](https://dev.mysql.com/doc/ndb-internals/en/ndb-node-error-messages.html).

    重要的

    *错误日志文件中的最后一个条目不一定是最新的*（也不太可能）。错误日志中的条目是*不*按时间顺序列出；相反，它们对应于在`ndb_*`节点id`*_追踪。日志下一个`文件（见下文）。因此，错误日志条目会以循环而非顺序的方式被覆盖。

-   [](<>) [](<>) `ndb_*`节点id`*_追踪。日志*`追踪id`*`是一个跟踪文件，精确描述了错误发生前发生的情况。这些信息对于NDB集群开发团队的分析非常有用。

    可以配置在覆盖旧文件之前创建的这些跟踪文件的数量。*`追踪id`*是一个数字，对于每个连续的跟踪文件递增。

-   `ndb_*`节点id`*_追踪。日志下一个`跟踪下一个要分配的跟踪文件号的文件。

-   `ndb_*`节点id`*_出去。日志`是一个包含用户输出的任何数据的文件[**ndbd**](mysql-cluster-programs-ndbd.html)过程此文件仅在以下情况下创建：[**ndbd**](mysql-cluster-programs-ndbd.html)作为守护进程启动，这是默认行为。

-   `ndb_*`节点id`*.pid`是一个包含进程ID的文件[**ndbd**](mysql-cluster-programs-ndbd.html)作为守护进程启动时的进程。它还起到锁定文件的作用，以避免启动具有相同标识符的节点。

-   `ndb_*`节点id`*_信号。日志`仅在的调试版本中使用的文件[**ndbd**](mysql-cluster-programs-ndbd.html)，可以跟踪所有传入、传出和内部消息及其在[**ndbd**](mysql-cluster-programs-ndbd.html)过程

    建议不要使用通过NFS挂载的目录，因为在某些环境中，这可能会导致服务器上的锁定出现问题`.pid`即使在进程终止后，文件仍然有效。

    开始[**ndbd**](mysql-cluster-programs-ndbd.html)，可能还需要指定管理服务器的主机名及其侦听的端口。或者，还可以指定进程要使用的节点ID。


```
$> ndbd --connect-string="nodeid=2;host=ndb_mgmd.mysql.com:1186"
```

看见[第23.4.3.3节，“NDB集群连接串”](mysql-cluster-connection-strings.html)，以获取有关此问题的更多信息。有关数据节点配置参数的更多信息，请参阅[第23.4.3.6节，“定义NDB群集数据节点”](mysql-cluster-ndbd-definition.html).

什么时候[**ndbd**](mysql-cluster-programs-ndbd.html)一开始，它实际上启动了两个过程。第一个过程被称为“天使过程”；它唯一的任务是发现执行过程何时完成，然后重新启动[**ndbd**](mysql-cluster-programs-ndbd.html)如果配置为这样做，则处理。因此，如果你试图杀人[**ndbd**](mysql-cluster-programs-ndbd.html)使用Unix[**杀死**](kill.html)命令时，必须同时终止这两个进程，从angel进程开始。终止协议的首选方法[**ndbd**](mysql-cluster-programs-ndbd.html)流程是使用管理客户端并从那里停止流程。

执行过程使用一个线程来读取、写入和扫描数据，以及所有其他活动。该线程是异步实现的，因此它可以轻松处理数千个并发操作。此外，看门狗线程会监督执行线程，以确保它不会无限循环地挂起。线程池处理文件I/O，每个线程能够处理一个打开的文件。线程也可以由中的传输程序用于传输程序连接[**ndbd**](mysql-cluster-programs-ndbd.html)过程在执行大量操作（包括更新）的多处理器系统中[**ndbd**](mysql-cluster-programs-ndbd.html)如果允许，进程最多可以消耗2个CPU。

对于具有多个CPU的机器，可以使用多个CPU[**ndbd**](mysql-cluster-programs-ndbd.html)属于不同节点组的进程；然而，这种配置仍然被认为是实验性的，MySQL 8.0在生产环境中不支持这种配置。看见[第23.2.7节，“NDB集群的已知限制”](mysql-cluster-limitations.html).
