MySQL8 中文参考(八十九)(5)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: MySQL8 中文参考(八十九)

MySQL8 中文参考(八十九)(4)https://developer.aliyun.com/article/1565916


  • --bind-address=*host*
命令行格式 --bind-address=host
类型 字符串
默认值 [none]
  • 导致管理服务器绑定到特定网络接口(主机名或 IP 地址)。此选项没有默认值。
  • --character-sets-dir
命令行格式 --character-sets-dir=path
移除版本 8.0.31
  • 包含字符集的目录。
  • cluster-config-suffix
命令行格式 --cluster-config-suffix=name
引入版本 8.0.24
类型 字符串
默认值 [none]
  • 在读取my.cnf中的集群配置部分时覆盖默认组后缀;用于测试。
  • --config-cache
命令行格式 --config-cache[=TRUE|FALSE]
类型 布尔值
默认值 TRUE
  • 此选项的默认值为1(或TRUE,或ON),可用于禁用管理服务器的配置缓存,使其每次启动时从config.ini读取配置(参见第 25.4.3 节,“NDB 集群配置文件”)。您可以通过以下任一选项启动ndb_mgmd进程来实现:
  • --config-cache=0
  • --config-cache=FALSE
  • --config-cache=OFF
  • --skip-config-cache
  • 仅当管理服务器在启动时没有存储配置时,才能有效使用上述选项之一。如果管理服务器发现任何配置缓存文件,则--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.1ndb_5_config.bin.2ndb_5_config.bin.3
    如果您的意图是在不实际禁用缓存的情况下清除或重新加载配置缓存,您应该使用--reload--initial选项之一,而不是使用--skip-config-cache来启动ndb_mgmd
    要重新启用配置缓存,只需重新启动管理服务器,但不使用之前用于禁用配置缓存的--config-cache--skip-config-cache选项。
    ndb_mgmd 在使用--skip-config-cache时不会检查配置目录(--configdir),也不会尝试创建配置目录。(Bug #13428853)
  • --config-file=*filename*-f *filename*
命令行格式 --config-file=file
禁用方式 skip-config-file
类型 文件名
默认值 [无]
  • 指示管理服务器应使用哪个文件作为其配置文件。默认情况下,管理服务器在与ndb_mgmd可执行文件相同目录中查找名为config.ini的文件;否则,��须显式指定文件名和位置。
    此选项没有默认值,除非管理服务器被迫读取配置文件,要么因为ndb_mgmd是使用--reload--initial选项启动的,要么因为管理服务器找不到任何配置缓存。从 NDB 8.0.26 开始,ndb_mgmd 如果指定了--config-file而没有指定--initial--reload,则拒绝启动。
    如果ndb_mgmd是使用--config-cache=OFF启动的,则还会读取--config-file选项。有关更多信息,请参见第 25.4.3 节,“NDB 集群配置文件”。
  • --configdir=*dir_name*
命令行格式 --configdir=directory``--config-dir=directory
类型 文件名
默认值 $INSTALLDIR/mysql-cluster
  • 指定集群管理服务器的配置缓存目录。--config-dir 是此选项的别名。
    在 NDB 8.0.27 及更高版本中,这必须是绝对路径。否则,管理服务器将拒绝启动。
  • --connect-retries
命令行格式 --connect-retries=#
移除 8.0.31
类型 整数
默认值 12
最小值 0
最大值 12
  • 在放弃之前重试连接的次数。
  • --connect-retry-delay
命令行格式 --connect-retry-delay=#
移除 8.0.31
类型 整数
默认值 5
最小值 0
最大值 5
  • 尝试联系管理服务器之间等待的秒数。
  • --connect-string
命令行格式 --connect-string=connection_string
类型 字符串
默认值 [none]
  • 与–ndb-connectstring 相同。
  • --core-file
命令行格式 --core-file
已移除 8.0.31
  • 在错误时写入核心文件;用于调试。
  • --daemon, -d
    指示ndb_mgmd以守护进程方式启动。这是默认行为。
    在 Windows 平台上运行ndb_mgmd时,此选项无效。
  • --defaults-extra-file
命令行格式 --defaults-extra-file=path
类型 字符串
默认值 [none]
  • 在读取全局文件后读取给定文件。
  • --defaults-file
命令行格式 --defaults-file=path
类型 字符串
默认值 [none]
  • 仅从给定文件中读取默认选项。
  • --defaults-group-suffix
命令行格式 --defaults-group-suffix=string
类型 字符串
默认值 [none]
  • 也可以使用 concat(group, suffix) 读取组。
  • --help
    显示帮助文本并退出。
  • --initial
    配置数据在内部缓存,而不是每次启动管理服务器时从集群全局配置文件中读取(请参阅第 25.4.3 节,“NDB 集群配置文件”)。使用--initial选项会覆盖此行为,强制管理服务器删除任何现有的缓存文件,然后从集群配置文件中重新读取配置数据并构建新的缓存。
    这与--reload选项有两种不同之处。首先,--reload���制服务器检查配置文件与缓存的差异,并仅在文件内容与缓存不同时重新加载数据。其次,--reload不会删除任何现有的缓存文件。
    如果使用--initial调用ndb_mgmd但找不到全局配置文件,则管理服务器无法启动。
    当管理服务器启动时,它会检查同一  NDB Cluster 中是否有另一个管理服务器,并尝试使用另一个管理服务器的配置数据。在执行具有多个管理节点的 NDB Cluster  的滚动重启时,此行为会产生影响。有关更多信息,请参见第 25.6.5 节,“执行 NDB Cluster 的滚动重启”。
    --config-file选项一起使用时,仅在实际找到配置文件时才清除缓存。
  • --install[=*name*]
命令行格式 --install[=name]
平台特定 Windows
类型 字符串
默认值 ndb_mgmd
  • 使ndb_mgmd作为 Windows 服务安装。可选地,您可以为服务指定名称;如果未设置,则服务名称默认为ndb_mgmd。虽然最好在my.inimy.cnf配置文件中指定其他ndb_mgmd程序选项,但也可以与--install一起使用。但是,在这种情况下,必须首先指定--install选项,然后再给出任何其他选项,以确保 Windows 服务安装成功。
    通常不建议将此选项与--initial选项一起使用,因为这会导致配置缓存在每次停止和启动服务时被清除并重建。如果您打算使用任何其他影响管理服务器启动的ndb_mgmd选项,应格外小心,并确保您充分理解并允许可能产生的任何后果。
    --install 选项在非 Windows 平台上没有任何效果。
  • --interactive
    以交互模式启动ndb_mgmd;也就是说,一旦管理服务器运行,就会启动一个ndb_mgm客户端会话。此选项不会启动任何其他 NDB Cluster 节点。
  • --log-name=*name*
命令行格式 --log-name=name
类型 字符串
默认值 MgmtSrvr
  • 为此节点在集群日志中使用的名称。
  • --login-path
命令行格式 --login-path=path
类型 字符串
默认值 [none]
  • 从登录文件中读取给定路径。
  • --mycnf
    my.cnf文件中读取配置数据。
  • --ndb-connectstring
命令行格式 --ndb-connectstring=connection_string
类型 字符串
默认值 [none]
  • 设���连接字符串。语法:[nodeid=*id*;][host=]*hostname*[:*port*]。覆盖NDB_CONNECTSTRINGmy.cnf中的条目。如果指定了--config-file,则忽略;从 NDB 8.0.27 开始,当同时使用两个选项时会发出警告。
  • --ndb-mgmd-host
命令行格式 --ndb-mgmd-host=connection_string
类型 字符串
默认值 [none]
  • 与–ndb-connectstring 相同。
  • --ndb-nodeid
命令行格式 --ndb-nodeid=#
类型 整数
默认值 [none]
  • 设置此节点的节点 ID,覆盖--ndb-connectstring设置的任何 ID。
  • --ndb-optimized-node-selection
命令行格式 --ndb-optimized-node-selection
已移除 8.0.31
  • 启用优化以选择事务节点。默认启用;使用--skip-ndb-optimized-node-selection来禁用。
  • --no-nodeid-checks
    不执行任何节点 ID 的检查。
  • --nodaemon
    指示ndb_mgmd不作为守护进程启动。
    在 Windows 上,ndb_mgmd的默认行为是在前台运行,因此在 Windows 平台上不需要此选项。
  • --no-defaults
    不从登录文件以外的任何选项文件中读取默认选项。
  • --nowait-nodes
命令行格式 --nowait-nodes=list
类型 数字
默认值 [none]
最小值 1
最大值 255
  • 当启动配置为具有两个管理节点的 NDB Cluster 时,每个管理服务器通常会检查另一个ndb_mgmd是否也正在运行,并且另一个管理服务器的配置是否与其相同。但是,有时希望仅使用一个管理节点启动集群(并且可能稍后启动另一个ndb_mgmd)。此选项使管理节点绕过传递给此选项的任何其他管理节点的任何检查,允许集群启动,就好像配置为仅使用已启动的管理节点。
    为了举例说明,考虑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
  • 假设您希望仅使用具有节点 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 Cluster SQL 节点启动的任何mysqld进程使用的连接字符串相同。有关更多信息,请参见 Section 25.4.3.3, “NDB Cluster Connection Strings”。
    当与ndb_mgmd一起使用时,此选项仅影响管理节点与其他管理节点的行为。不要将其与与ndbdndbmtd")一起使用的--nowait-nodes选项混淆,以允许集群在少于其完整数据节点数量的情况下启动;当与数据节点一起使用时,此选项仅影响它们与其他数据节点的行为。
    可以将多个管理节点  ID 作为逗号分隔的列表传递给此选项。每个节点 ID 必须不小于 1 且不大于 255。实际上,对于同一 NDB  集群使用多个管理服务器(或有任何这样做的需要)是非常罕见的;在大多数情况下,您只需要将不希望在启动集群时使用的单个节点 ID 传递给此选项。
    注意
    当您稍后启动“丢失”的管理服务器时,其配置必须与集群中已经使用的管理服务器的配置相匹配。否则,它将无法通过现有管理服务器执行的配置检查,并且无法启动。
  • --print-defaults
    打印程序参数列表并退出。
  • --print-full-config, -P
    显示有关集群配置的扩展信息。使用此选项在命令行上,ndb_mgmd进程会打印有关集群设置的信息,包括集群配置部分的广泛列表以及参数及其值。通常与--config-file (-f)选项一起使用。
  • --reload
    NDB 集群配置数据是存储在内部而不是每次启动管理服务器时从集群全局配置文件中读取的(请参阅第 25.4.3 节,“NDB  集群配置文件”)。使用此选项会强制管理服务器检查其内部数据存储与集群配置文件的匹配情况,并在发现配置文件与缓存不匹配时重新加载配置。现有的配置缓存文件会被保留,但不会被使用。
    这与--initial选项有两点不同。首先,--initial会导致删除所有缓存文件。其次,--initial会强制管理服务器重新读取全局配置文件并构建新的缓存。
    如果管理服务器找不到全局配置文件,则--reload选项将被忽略。
    当使用--reload时,管理服务器必须能够与数据节点和集群中的任何其他管理服务器通信,然后才能尝试读取全局配置文件;否则,管理服务器将无法启动。这可能是由于网络环境的更改,例如节点的新 IP 地址或防火墙配置的更改。在这种情况下,您必须使用--initial来强制丢弃现有的缓存配置并从文件重新加载。有关更多信息,请参见第 25.6.5 节,“执行 NDB 集群的滚动重启”。
  • --remove[=name]
命令行格式 --remove[=name]
特定平台 Windows
类型 字符串
默认值 ndb_mgmd
  • 删除已安装为 Windows 服务的管理服务器进程,可选择指定要删除的服务名称。仅适用于 Windows 平台。
  • --skip-config-file
    不读取集群配置文件;如果指定了--initial--reload选项,则忽略。
  • --usage
    显示帮助文本并退出;与–help 相同。
  • --verbose, -v
    删除已安装为 Windows 服务的管理服务器进程,可选择指定要删除的服务名称。仅适用于 Windows 平台。
  • --version
    显示版本信息并退出。

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

有关使用连接字符串的信息,请参见第 25.4.3.3 节“NDB 集群连接字符串”。第 25.5.4 节“ndb_mgmd — The NDB Cluster Management Server Daemon”描述了ndb_mgmd的其他选项。

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

  • config.ini 是整个集群的配置文件。此文件由用户创建并由管理服务器读取。第 25.4 节“NDB 集群配置”讨论了如何设置此文件。
  • ndb_*node_id*_cluster.log 是集群事件日志文件。此类事件的示例包括检查点启动和完成、节点启动事件、节点故障以及内存使用级别。可以在第 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 文件。
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3月前
|
关系型数据库 MySQL Unix
MySQL8 中文参考(二十三)(3)
MySQL8 中文参考(二十三)
42 4
|
3月前
|
存储 缓存 关系型数据库
MySQL8 中文参考(二十一)(5)
MySQL8 中文参考(二十一)
68 3
|
3月前
|
存储 监控 Java
MySQL8 中文参考(二十一)(4)
MySQL8 中文参考(二十一)
86 3
|
3月前
|
存储 安全 关系型数据库
MySQL8 中文参考(二十一)(1)
MySQL8 中文参考(二十一)
40 3
|
3月前
|
存储 关系型数据库 MySQL
MySQL8 中文参考(二十一)(3)
MySQL8 中文参考(二十一)
56 2
|
3月前
|
关系型数据库 MySQL Unix
MySQL8 中文参考(二十一)(2)
MySQL8 中文参考(二十一)
42 2
|
3月前
|
关系型数据库 MySQL 数据安全/隐私保护
MySQL8 中文参考(二十五)(5)
MySQL8 中文参考(二十五)
34 2
|
3月前
|
存储 关系型数据库 MySQL
MySQL8 中文参考(二十四)(1)
MySQL8 中文参考(二十四)
35 2
|
3月前
|
NoSQL 关系型数据库 MySQL
MySQL8 中文参考(二十三)(2)
MySQL8 中文参考(二十三)
43 2
|
3月前
|
存储 关系型数据库 MySQL
MySQL8 中文参考(二十三)(1)
MySQL8 中文参考(二十三)
28 2