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  /  ...  /  ndb_mgmd — The NDB Cluster Management Server Daemon

25.5.4 ndb_mgmd — NDB 集群管理服务器守护进程

管理服务器是读取集群配置文件并将其分布到集群中的所有节点的进程。它还维护集群活动的日志。管理客户端可以连接到管理服务器并检查集群的状态。

可以与 ndb_mgmd 一起使用的所有选项都显示在以下表格中。表格后面是描述。

表 25.25 使用 ndb_mgmd 程序的命令行选项

Format Description Added, Deprecated, or Removed

--bind-address=host

本地绑定地址

(在所有基于 MySQL 8.3 的 NDB 版本中支持)

--cluster-config-suffix=name

覆盖 my.cnf 文件中的群组配置部分的默认后缀;用于测试

(在所有基于 MySQL 8.3 的 NDB 版本中支持)

--config-cache[=TRUE|FALSE]

启用管理服务器配置缓存;默认为 true

(在所有基于 MySQL 8.3 的 NDB 版本中支持)

--config-file=file,

-f file

指定集群配置文件;也可以指定 --reload 或 --initial 来覆盖配置缓存

(在所有基于 MySQL 8.3 的 NDB 版本中支持)

--configdir=directory,

--config-dir=directory

指定集群管理服务器配置缓存目录

(在所有基于 MySQL 8.3 的 NDB 版本中支持)

--connect-string=connection_string,

-c connection_string

与 --ndb-connectstring 相同

(在所有基于 MySQL 8.3 的 NDB 版本中支持)

--daemon,

-d

以守护进程模式运行 ndb_mgmd(默认)

(在所有基于 MySQL 8.3 的 NDB 版本中支持)

--defaults-extra-file=path

在读取全局文件后读取给定的文件

(在所有基于 MySQL 8.3 的 NDB 版本中支持)

--defaults-file=path

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

(在所有基于 MySQL 8.3 的 NDB 版本中支持)

--defaults-group-suffix=string

也读取带有 concat(group, suffix) 的组

(在所有基于 MySQL 8.3 的 NDB 版本中支持)

--help,

-?

显示帮助文本并退出

(在所有基于 MySQL 8.3 的 NDB 版本中支持)

--initial

使管理服务器从配置文件中重新加载配置数据,绕过配置缓存

(在所有基于 MySQL 8.3 的 NDB 版本中支持)

--install[=name]

用于将管理服务器进程安装为 Windows 服务;不适用于其他平台

(在所有基于 MySQL 8.3 的 NDB 版本中支持)

--交互式

在交互模式下运行 ndb_mgmd(不支持生产环境中使用;仅供测试目的)

(在所有基于 MySQL 8.3 的 NDB 发布版中支持)

--日志名称=name

用于写入集群日志消息的名称,应用于该节点

(在所有基于 MySQL 8.3 的 NDB 发布版中支持)

--登录路径=path

从登录文件中读取给定的路径

(在所有基于 MySQL 8.3 的 NDB 发布版中支持)

--不读取登录路径

不从登录路径文件中读取登录路径

(在所有基于 MySQL 8.3 的 NDB 发布版中支持)

--mycnf

从 my.cnf 文件中读取集群配置数据

(在所有基于 MySQL 8.3 的 NDB 发布版中支持)

--ndb-connectstring=连接字符串,

-c 连接字符串

设置连接字符串以连接到 ndb_mgmd。语法:"[nodeid=id;][host=]主机名[:端口]"。覆盖 NDB_CONNECTSTRING 和 my.cnf 中的条目

(在所有基于 MySQL 8.3 的 NDB 发布版中支持)

--ndb-mgm-tls=级别

ndb_mgm 客户端 TLS 要求级别

ADDED: 8.3.0

--ndb-mgmd-host=连接字符串,

-c 连接字符串

与 --ndb-connectstring 相同

(在所有基于 MySQL 8.3 的 NDB 发布版中支持)

--ndb-nodeid=#

设置该节点的节点 ID,覆盖 --ndb-connectstring 中的 ID

(在所有基于 MySQL 8.3 的 NDB 发布版中支持)

--ndb-tls-search-path=列表

包含 TLS 密钥和证书的目录列表

ADDED: 8.3.0

--不使用默认值

不从任何选项文件中读取默认选项,除登录文件外

(在所有基于 MySQL 8.3 的 NDB 发布版中支持)

--不检查节点 ID

不执行任何节点 ID 检查

(在所有基于 MySQL 8.3 的 NDB 发布版中支持)

--不以守护进程方式运行

不以守护进程方式运行 ndb_mgmd

(在所有基于 MySQL 8.3 的 NDB 发布版中支持)

--不等待节点=list

不等待指定的管理节点启动时的管理服务器;需要 --ndb-nodeid 选项

(在所有基于 MySQL 8.3 的 NDB 发布版中支持)

--打印默认值

打印程序参数列表并退出

(在所有基于 MySQL 8.3 的 NDB 发布版中支持)

--打印完整配置,

-P

打印完整配置并退出

(在所有基于 MySQL 8.3 的 NDB 发布版中支持)

--重新加载

使管理服务器比较配置文件与配置缓存

(在所有基于 MySQL 8.3 的 NDB 发布版中支持)

--删除[=名称]

用于删除之前作为Windows服务安装的管理服务器进程,optionally指定要删除的服务名称;不适用于其他平台

(在所有基于MySQL 8.3的NDB版本中支持)

--skip-config-file

不使用配置文件

(在所有基于MySQL 8.3的NDB版本中支持)

--usage,

-?

显示帮助文本并退出;与--help相同

(在所有基于MySQL 8.3的NDB版本中支持)

--verbose,

-v

将额外信息写入日志

(在所有基于MySQL 8.3的NDB版本中支持)

--version,

-V

显示版本信息并退出

(在所有基于MySQL 8.3的NDB版本中支持)


  • --bind-address=主机

    Command-Line Format --bind-address=主机
    Type 字符串
    Default Value [none]

    使管理服务器绑定到特定的网络接口(主机名或IP地址)。此选项没有默认值。

  • --character-sets-dir

    Command-Line Format --character-sets-dir=路径

    包含字符集的目录。

  • cluster-config-suffix

    Command-Line Format --cluster-config-suffix=名称
    Type 字符串
    Default Value [none]

    覆盖默认组后缀时读取集群配置部分在 my.cnf 中;用于测试。

  • --config-cache

    Command-Line Format --config-cache[=TRUE|FALSE]
    Type 布尔值
    Default Value TRUE

    此选项的默认值是 1(或 TRUE,或 ON),可以用来禁用管理服务器的配置缓存,以便每次启动时从 config.ini 读取配置(见 第 25.4.3 节,「NDB 集群配置文件」)。可以通过以下方式禁用配置缓存:

    使用上述任何一个选项都只能在管理服务器第一次启动时生效。如果管理服务器已经创建了配置缓存文件,那么 --config-cache 选项或 --skip-config-cache 选项将被忽略。因此,要禁用配置缓存,需要在管理服务器第一次启动时使用该选项。否则,即如果您想禁用已经创建了配置缓存的管理服务器的配置缓存,需要停止管理服务器,手动删除现有的配置缓存文件,然后使用 --skip-config-cache 选项重新启动管理服务器(或使用 --config-cache 选项设置为 0、 OFFFALSE)。

    配置缓存文件通常在安装目录下名为 mysql-cluster 的目录中创建(除非使用 --configdir 选项覆盖了该位置)。每次管理服务器更新其配置数据时,它都会写入一个新的缓存文件。文件名按照创建顺序命名,使用以下格式:

    ndb_node-id_config.bin.seq-number

    node-id 是管理服务器的节点 ID;seq-number 是一个序列号,从 1 开始。例如,如果管理服务器的节点 ID 是 5,那么第一个配置缓存文件将被命名为 ndb_5_config.bin.1,第二个文件将被命名为 ndb_5_config.bin.2,第三个文件将被命名为 ndb_5_config.bin.3

    如果您想清除或重新加载配置缓存,而不禁用缓存,可以使用 ndb_mgmd 选项 --reload--initial 而不是 --skip-config-cache

    要重新启用配置缓存,只需重新启动管理服务器,但不要使用 --config-cache--skip-config-cache 选项。

    ndb_mgmd 不检查配置目录 (--configdir) 或尝试创建一个目录时使用 --skip-config-cache。(Bug #13428853)

  • --config-file=filename, -f filename

    Command-Line Format --config-file=file
    Disabled by skip-config-file
    Type 文件名
    Default Value [none]

    指示管理服务器使用哪个文件作为其配置文件。默认情况下,管理服务器在同一个目录下查找名为 config.ini 的文件;否则,文件名和位置必须被明确指定。

    该选项没有默认值,并且只有在管理服务器被强制读取配置文件时才生效,例如使用 ndb_mgmd 选项 --reload--initial,或者管理服务器无法找到任何配置缓存。如果 --config-file 被指定,而没有 --initial--reloadndb_mgmd 将拒绝启动。

    --config-file 选项也将被读取,如果 ndb_mgmd 使用 --config-cache=OFF 启动。请参阅 第 25.4.3 节,“NDB Cluster 配置文件”,以获取更多信息。

  • --configdir=dir_name

    Command-Line Format

    --configdir=directory

    --config-dir=directory

    Type 文件名
    Default Value $INSTALLDIR/mysql-cluster

    指定集群管理服务器的配置缓存目录。这必须是一个绝对路径。否则,管理服务器将拒绝启动。

    --config-dir 是该选项的别名。

  • --connect-retries

    Command-Line Format --connect-retries=#
    Type 整数
    Default Value 12
    Minimum Value 0
    Maximum Value 12

    在放弃之前重试连接的次数。

  • --connect-retry-delay

    Command-Line Format --connect-retry-delay=#
    Type 整数
    Default Value 5
    Minimum Value 0
    Maximum Value 5

    在尝试联系管理服务器之间等待的秒数。

  • --connect-string

    Command-Line Format --connect-string=connection_string
    Type 字符串
    Default Value [none]

    与 --ndb-connectstring相同。

  • --core-file

    Command-Line Format --core-file

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

  • --daemon, -d

    Command-Line Format --daemon

    指示 ndb_mgmd 作为守护进程启动。这是默认行为。

    在 Windows 平台上运行 ndb_mgmd 时,该选项无效。

  • --defaults-extra-file

    Command-Line Format --defaults-extra-file=path
    Type 字符串
    Default Value [none]

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

  • --defaults-file

    Command-Line Format --defaults-file=path
    Type 字符串
    Default Value [none]

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

  • --defaults-group-suffix

    Command-Line Format --defaults-group-suffix=string
    Type 字符串
    Default Value [none]

    也读取带有 concat(group, suffix) 的组。

  • --help

    Command-Line Format --help

    显示帮助文本并退出。

  • --initial

    Command-Line Format --initial

    配置数据被缓存在内部,而不是每次启动管理服务器时从集群全局配置文件中读取(参见 第 25.4.3 节,「NDB 集群配置文件」)。使用 --initial 选项将覆盖此行为,强制管理服务器删除任何现有的缓存文件,然后从集群配置文件中重新读取配置数据并构建新的缓存。

    这与 --reload 选项不同。首先,--reload 强制服务器检查配置文件与缓存的差异,并且仅在文件内容不同于缓存时重新加载数据。其次,--reload 不删除任何现有的缓存文件。

    如果 ndb_mgmd 使用 --initial 选项启动,但无法找到全局配置文件,管理服务器无法启动。

    当管理服务器启动时,它会检查同一个 NDB 集群中的另一个管理服务器,并尝试使用另一个管理服务器的配置数据。这行为对执行 NDB 集群的滚动重启有影响。请参阅 第 25.6.5 节,“执行 NDB 集群的滚动重启”,以获取更多信息。

    当与 --config-file 选项一起使用时,只有在找到配置文件时才清除缓存。

  • --install[=name]

    Command-Line Format --install[=name]
    Platform Specific Windows
    Type 字符串
    Default Value ndb_mgmd

    使 ndb_mgmd 作为 Windows 服务安装。可选地,您可以指定服务的名称;如果不设置,默认服务名称为 ndb_mgmd。虽然可以在 my.inimy.cnf 配置文件中指定其他 ndb_mgmd 程序选项,但是在使用 --install 选项时,必须首先指定该选项,然后才能指定其他选项,以便 Windows 服务安装成功。

    通常不建议将该选项与 --initial 选项一起使用,因为这将导致配置缓存每次服务停止和启动时都被清除和重建。同时,如果您计划使用其他 ndb_mgmd 选项来影响管理服务器的启动,请务必完全理解并允许可能的后果。

    --install 选项在非 Windows 平台上无效。

  • --interactive

    Command-Line Format --interactive

    以交互模式启动 ndb_mgmd;即,在管理服务器启动后立即启动 ndb_mgm 客户端会话。该选项不启动其他 NDB 集群节点。

  • --log-name=name

    Command-Line Format --log-name=name
    Type 字符串
    Default Value MgmtSrvr

    为集群日志中使用的节点名称。

  • --login-path

    Command-Line Format --login-path=path
    Type 字符串
    Default Value [none]

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

  • --no-login-paths

    Command-Line Format --no-login-paths

    跳过从登录路径文件中读取选项。

  • --mycnf

    Command-Line Format --mycnf

    my.cnf 文件中读取配置数据。

  • --ndb-连接字符串

    Command-Line Format --ndb-连接字符串=连接字符串
    Type 字符串
    Default Value [none]

    设置连接字符串。语法:[nodeid=id;][host=]主机名[:端口]。覆盖 NDB_CONNECTSTRINGmy.cnf 中的条目。如果指定了 --config-file,则忽略该选项;如果同时使用这两个选项,将发出警告。

  • --ndb-mgm-tls

    Command-Line Format --ndb-mgm-tls=级别
    Type 枚举
    Default Value relaxed
    Valid Values

    relaxed

    strict

    设置连接到管理服务器所需的 TLS 支持级别;可以是 relaxedstrictrelaxed(默认)表示尝试 TLS 连接,但不要求成功:strict 表示需要 TLS 连接。

  • --ndb-mgmd-host

    Command-Line Format --ndb-mgmd-host=连接字符串
    Type 字符串
    Default Value [none]

    与 --ndb-connectstring 相同。

  • --ndb-nodeid

    Command-Line Format --ndb-nodeid=#
    Type 整数
    Default Value [none]

    设置该节点的节点 ID,覆盖 --ndb-connectstring 中的 ID。

  • --ndb-optimized-node-selection

    Command-Line Format --ndb-optimized-node-selection

    启用事务节点选择的优化。默认启用;使用 --skip-ndb-optimized-node-selection 禁用。

  • --ndb-tls-search-path

    Command-Line Format --ndb-tls-search-path=列表
    Type 路径名
    Default Value (Unix) $HOME/ndb-tls
    Default Value (Windows) $HOMEDIR/ndb-tls

    指定要搜索 CA 文件的目录列表。在 Unix 平台上,目录名之间用冒号 (:) 分隔;在 Windows 系统上,使用分号 (;) 分隔。目录引用可以是相对的或绝对的,可以包含一个或多个环境变量,每个变量以美元符号 ($) 开头,并在使用前展开。

    搜索从左到右进行,直到找到文件。空字符串表示空搜索路径,导致所有搜索失败。点 (.) 表示当前工作目录。

    如果未提供搜索路径,将使用编译时的默认值。该值取决于平台:在 Windows 上是 \ndb-tls;在其他平台(包括 Linux)上是 $HOME/ndb-tls。可以使用 -DWITH_NDB_TLS_SEARCH_PATH 编译 NDB Cluster 来覆盖该值。

  • --no-nodeid-checks

    Command-Line Format --no-nodeid-checks

    不执行任何节点 ID 检查。

  • --nodaemon

    Command-Line Format --nodaemon

    指示 ndb_mgmd 不以守护进程方式启动。

    默认情况下,ndb_mgmd 在 Windows 上的行为是在前台运行,使得该选项在 Windows 平台上不必要。

  • --no-defaults

    Command-Line Format --no-defaults

    不从任何选项文件(除了登录文件)中读取默认选项。

  • --nowait-nodes

    Command-Line Format --nowait-nodes=list
    Type 数字
    Default Value [none]
    Minimum Value 1
    Maximum Value 255

    当 NDB 集群配置了两个管理节点时,每个管理服务器通常检查另一个 ndb_mgmd 是否也在运行,并检查另一个管理服务器的配置是否与其自己的配置相同。然而,有时需要以单个管理节点(可能是另一个 ndb_mgmd稍后启动)启动集群。该选项使管理节点跳过对其他管理节点的检查,这些节点的 ID 通过该选项传递,允许集群像只有一个管理节点那样启动。

    例如,考虑以下 config.ini 文件的一部分(我们省略了大多数不相关的配置参数):

    [ndbd]
    NodeId = 1
    HostName = 198.51.100.101
    
    [ndbd]
    NodeId = 2
    HostName = 198.51.100.102
    
    [ndbd]
    NodeId = 3
    HostName = 198.51.100.103
    
    [ndbd]
    NodeId = 4
    HostName = 198.51.100.104
    
    [ndb_mgmd]
    NodeId = 10
    HostName = 198.51.100.150
    
    [ndb_mgmd]
    NodeId = 11
    HostName = 198.51.100.151
    
    [api]
    NodeId = 20
    HostName = 198.51.100.200
    
    [api]
    NodeId = 21
    HostName = 198.51.100.201

    假设您想使用只有一个管理服务器的 node ID 10 并在 IP 地址为 198.51.100.150 的主机上运行。(例如,假设您想等待另一个管理服务器的主机计算机修复硬件故障。)要以这种方式启动集群,请在 198.51.100.150 的机器上输入以下命令:

    $> ndb_mgmd --ndb-nodeid=10 --nowait-nodes=11

    如前面的示例所示,当使用 --nowait-nodes 时,您还必须使用 --ndb-nodeid 选项指定该 ndb_mgmd 进程的节点 ID。

    然后,您可以按照通常方式启动集群的数据节点。如果您想在以后启动第二个管理服务器,而不需要重新启动数据节点,您必须使用连接字符串引用两个管理服务器,例如:

    $> ndbd -c 198.51.100.150,198.51.100.151

    同样,对于任何您想启动的 NDB 集群 SQL 节点,连接字符串也需要引用这两个管理服务器。请参阅 第 25.4.3.3 节,“NDB 集群连接字符串”,以获取更多信息。

    当与 ndb_mgmd 一起使用时,该选项仅影响管理节点对其他管理节点的行为。请勿将其与 --nowait-nodes 选项混淆,该选项用于 ndbdndbmtd,以允许集群在少于完整的数据节点的情况下启动。

    可以将多个管理节点 ID 传递给该选项,以逗号分隔的列表形式。每个节点 ID 必须介于 1 和 255 之间。在实践中,很少需要使用超过两个管理服务器的同一个 NDB 集群(或需要这样做);在大多数情况下,您只需要将单个管理服务器的节点 ID 传递给该选项,以便在启动集群时不使用该服务器。

    Note

    当您稍后启动“缺失管理服务器时,其配置必须与集群中已有的管理服务器匹配。否则,它将无法通过现有管理服务器执行的配置检查,并且无法启动。

  • --打印默认值

    Command-Line Format --打印默认值

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

  • --打印完整配置, -P

    Command-Line Format --打印完整配置

    显示集群配置的扩展信息。使用该选项时,ndb_mgmd 进程将打印集群设置的信息,包括集群配置部分的详细列表和参数值。通常与 --配置文件 (-f) 选项一起使用。

  • --重新加载

    Command-Line Format --重新加载

    NDB 集群配置数据存储在内部,而不是每次启动管理服务器时从集群全局配置文件中读取(见 第 25.4.3 节,“NDB 集群配置文件”)。使用该选项强制管理服务器检查其内部数据存储与集群配置文件,并在找到配置文件不匹配缓存时重新加载配置。

    这与 --initial 选项不同。首先,--initial 导致所有缓存文件被删除。其次,--initial 强制管理服务器重新读取全局配置文件并构建新的缓存。

    如果管理服务器无法找到全局配置文件,那么 --reload 选项将被忽略。

    使用 --reload 时,管理服务器必须能够与数据节点和集群中的其他管理服务器通信,以便在读取全局配置文件之前;否则,管理服务器将无法启动。这可能是由于网络环境的变化,例如节点的新 IP 地址或防火墙配置的更改。在这种情况下,您必须使用 --initial 选项来强制现有的缓存配置被丢弃并从文件中重新加载。请参阅 第 25.6.5 节,“执行 NDB 集群的滚动重启”,以获取更多信息。

  • --remove[=name]

    Command-Line Format --remove[=name]
    Platform Specific Windows
    Type 字符串
    Default Value ndb_mgmd

    删除已安装为 Windows 服务的管理服务器进程,可能指定要删除的服务名称。仅适用于 Windows 平台。

  • --跳过配置文件

    Command-Line Format --跳过配置文件

    不读取集群配置文件;忽略 --initial--reload 选项如果指定。

  • --使用

    Command-Line Format --使用

    显示帮助文本并退出;与 --help 相同。

  • --详细, -v

    Command-Line Format --详细

    删除已安装为 Windows 服务的管理服务器进程,可能指定要删除的服务名称。仅适用于 Windows 平台。

  • --版本

    Command-Line Format --版本

    显示版本信息并退出。

启动管理服务器时,不一定需要指定连接字符串。但是,如果您使用多个管理服务器,应该提供连接字符串,并且每个集群节点都应该明确指定其节点 ID。

请参阅 第 25.4.3.3 节,“NDB 集群连接字符串”,了解使用连接字符串的信息。第 25.5.4 节,“ndb_mgmd — NDB 集群管理服务器守护进程”,描述了 ndb_mgmd 的其他选项。

以下文件是由 ndb_mgmd 在其启动目录中创建或使用的,并将其放在 DataDir 中,如 config.ini 配置文件中所指定的。在以下列表中,node_id 是唯一的节点标识符。

  • config.ini 是集群的配置文件。该文件由用户创建并由管理服务器读取。第 25.4 节,“NDB 集群配置” 讨论了如何设置该文件。

  • ndb_node_id_cluster.log 是集群事件日志文件。例如,checkpoint 启动和完成、节点启动事件、节点故障和内存使用级别。完整的集群事件列表及其描述可以在 第 25.6 节,“NDB 集群管理” 中找到。

    默认情况下,当集群日志文件的大小达到一百万字节时,该文件将被重命名为 ndb_node_id_cluster.log.seq_id,其中 seq_id 是集群日志文件的序列号。(例如:如果已经存在序列号 1、2 和 3 的文件,则下一个日志文件将使用数字 4 命名。)您可以使用 LogDestination 配置参数更改集群日志的大小、文件数和其他特征。

  • ndb_node_id_out.log 是在以守护进程方式运行管理服务器时用于 stdoutstderr 的文件。

  • ndb_node_id.pid 是在以守护进程方式运行管理服务器时使用的进程 ID 文件。