MySQL8-中文参考-九十-

35 阅读34分钟

MySQL8 中文参考(九十)

原文:docs.oracle.com/javase/tutorial/reallybigindex.html

25.5.5 ndb_mgm — The NDB Cluster Management Client

原文:dev.mysql.com/doc/refman/8.0/en/mysql-cluster-programs-ndb-mgm.html

ndb_mgm 管理客户端进程实际上并不需要运行集群。它的价值在于提供一组命令来检查集群的状态、启动备份以及执行其他管理功能。管理客户端使用 C API 访问管理服务器。高级用户还可以使用此 API 编写专用管理进程,执行类似于 ndb_mgm 执行的任务。

要启动管理客户端,需要提供管理服务器的主机名和端口号:

$> ndb_mgm [*host_name* [*port_num*]]

例如:

$> ndb_mgm ndb_mgmd.mysql.com 1186

默认主机名和端口号分别为 localhost 和 1186。

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

表 25.27 与程序 ndb_mgm 一起使用的命令行选项

格式描述添加、弃用或移除
--backup-password-from-stdin以安全方式从 STDIN 获取解密密码;与 --execute 和 ndb_mgm START BACKUP 命令一起使用添加:NDB 8.0.24
--character-sets-dir=path包含字符集的目录移除:8.0.31
--connect-retries=#设置在放弃之前重试连接的次数;0 表示仅尝试 1 次(无重试)(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--connect-retry-delay=#尝试联系管理服务器之间等待的秒数(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--connect-string=connection_string,-c connection_string与 --ndb-connectstring 相同(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--core-file在错误时写入核心文件;用于调试移除:8.0.31
--defaults-extra-file=path在读取全局文件后读取给定文件(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--defaults-file=path仅从给定文件中读取默认选项(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--defaults-group-suffix=string也读取具有 concat(group, suffix) 的组(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--encrypt-backup导致 START BACKUP 在进行备份时进行加密,如果用户未提供密码,则提示输入添加:NDB 8.0.24
--execute=command,-e command执行命令并退出(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--help,-?显示帮助文本并退出(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--login-path=path从登录文件中读取给定路径(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--ndb-connectstring=connection_string,-c connection_string设置用于连接到 ndb_mgmd 的连接字符串。语法:"[nodeid=id;][host=]hostname[:port]"。覆盖 NDB_CONNECTSTRING 和 my.cnf 中的条目(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--ndb-mgmd-host=connection_string,-c connection_string与 --ndb-connectstring 相同(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--ndb-nodeid=#为此节点设置节点 ID,覆盖 --ndb-connectstring 设置的任何 ID(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--ndb-optimized-node-selection启用优化以选择事务节点。默认启用;使用 --skip-ndb-optimized-node-selection 来禁用移除:8.0.31
--no-defaults不从登录文件以外的任何选项文件中读取默认选项(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--print-defaults打印程序参数列表并退出(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--try-reconnect=#,-t #设置在放弃之前重试连接的次数;与 --connect-retries 同义词(适用于基于 MySQL 8.0 的所有 NDB 版本)
--usage,-?显示帮助文本并退出;与 --help 相同(适用于基于 MySQL 8.0 的所有 NDB 版本)
--version,-V显示版本信息并退出(适用于基于 MySQL 8.0 的所有 NDB 版本)
格式描述添加、弃用或移除
  • --backup-password-from-stdin[=TRUE|FALSE]

    命令行格式--backup-password-from-stdin
    引入8.0.24-ndb-8.0.24

    此选项允许在使用 --execute "START BACKUP" 或类似操作创建备份时,从系统 shell (stdin) 输入备份密码。使用此选项需要同时使用 --execute

  • --character-sets-dir

    命令行格式--character-sets-dir=path
    移除8.0.31

    包含字符集的目录。

  • --connect-retries=*#*

    命令行格式--connect-retries=#
    类型数值
    默认值3
    最小值0
    最大值4294967295

    此选项指定在第一次尝试后重试连接的次数,直到放弃(客户端始终至少尝试一次连接)。每次尝试等待的时间长度由 --connect-retry-delay 设置。

    此选项与现已弃用的 --try-reconnect 选项是同义词。

  • --connect-retry-delay

    命令行格式--connect-retry-delay=#
    类��整数
    默认值5
    最小值0
    最大值5

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

  • --connect-string

    命令行格式--connect-string=connection_string
    类型字符串
    默认值[无]

    --ndb-connectstring 相同。

  • --core-file

    命令行格式--core-file
    已移除8.0.31

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

  • --defaults-extra-file

    命令行格式--defaults-extra-file=path
    类型字符串
    默认值[none]

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

  • --defaults-file

    命令行格式--defaults-file=path
    类型字符串
    默认值[none]

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

  • --defaults-group-suffix

    命令行格式--defaults-group-suffix=string
    类型字符串
    默认值[none]

    还读取带有连接(组,后缀)的组。

  • --encrypt-backup

    命令行格式--encrypt-backup
    引入版本8.0.24-ndb-8.0.24

    当使用此选项时,将对所有备份进行加密。要使每次运行ndb_mgm时都发生这种情况,请将选项放在my.cnf文件的[ndb_mgm]部分中。

  • --execute=command, `-e `command

    命令行格式--execute=command

    此选项可用于从系统 shell 向 NDB Cluster 管理客户端发送命令。例如,以下任一命令等同于在管理客户端中执行SHOW

    $> ndb_mgm -e "SHOW"
    
    $> ndb_mgm --execute="SHOW"
    

    这类似于在mysql命令行客户端中使用--execute-e选项的方式。请参阅第 6.2.2.1 节,“在命令行上使用选项”。

    注意

    如果使用此选项传递的管理客户端命令包含任何空格字符,则命令必须用引号括起来。可以使用单���号或双引号。如果管理客户端命令不包含空格字符,则引号是可选的。

  • --help

    命令行格式--help

    显示帮助文本并退出。

  • --login-path

    命令行格式--login-path=path
    类型字符串
    默认值[none]

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

  • --ndb-connectstring

    命令行格式--ndb-connectstring=connection_string
    类型字符串
    默认值[none]

    为连接到ndb_mgmd设置连接字符串。语法:[nodeid=*id*;][host=]*hostname*[:*port*]. 覆盖NDB_CONNECTSTRINGmy.cnf中的条目。

  • --ndb-nodeid

    命令行格式--ndb-nodeid=#
    类型整数
    默认值[none]

    为此节点设置节点 ID,覆盖--ndb-connectstring设置的任何 ID。

  • --ndb-mgmd-host

    命令行格式--ndb-mgmd-host=connection_string
    类型字符串
    默认值[none]

    --ndb-connectstring相同。

  • --ndb-optimized-node-selection

    命令行格式--ndb-optimized-node-selection
    已移除8.0.31

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

  • --no-defaults

    命令行格式--no-defaults

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

  • --print-defaults

    命令行格式--print-defaults

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

  • --try-reconnect=*number*

    命令行格式--try-reconnect=#
    已弃用
    类型数字
    类型整数
    默认值12
    默认值3
    最小值0
    最大值4294967295

    如果与管理服务器的连接中断,节点将每 5 秒尝试重新连接,直到成功。通过使用此选项,可以在放弃并报告错误之前限制尝试次数为*number*。

    此选项已弃用,并可能在将来的版本中删除。请改用--connect-retries

  • --用法

    命令行格式--usage

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

  • --version

    命令行格式--version

    显示版本信息并退出。

有关如何使用ndb_mgm的其他信息,请参阅第 25.6.1 节,“NDB Cluster Management Client 中的命令”。

25.5.6 ndb_blob_tool — 检查和修复 NDB Cluster 表的 BLOB 和 TEXT 列

原文:dev.mysql.com/doc/refman/8.0/en/mysql-cluster-programs-ndb-blob-tool.html

这个工具可用于检查和删除NDB表中的孤立的 BLOB 列部分,以及生成列出任何孤立部分的文件。在诊断和修复包含 BLOBTEXT 列的损坏或受损 NDB 表时,有时会很有用。

ndb_blob_tool 的基本语法如下所示:

ndb_blob_tool [*options*] *table* [*column*, ...]

除非使用 --help 选项,否则必须指定要执行的操作,包括一个或多个选项 --check-orphans--delete-orphans--dump-file。这些选项会导致 ndb_blob_tool 检查孤立��� BLOB 部分、删除任何孤立的 BLOB 部分,并生成列出孤立的 BLOB 部分的转储文件,分别在本节后面有更详细的描述。

在调用 ndb_blob_tool 时,您还必须指定表的名称。此外,您还可以选择在表名后面(逗号分隔)跟随该表的一个或多个 BLOBTEXT 列的名称。如果未列出列,则该工具将处理表的所有 BLOBTEXT 列。如果需要指定数据库,请使用 --database (-d) 选项。

--verbose 选项在输出中提供有关工具进度的附加信息。

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

表 25.28 与程序 ndb_blob_tool 一起使用的命令行选项

格式描述添加、弃用或删除
--add-missing写入虚拟 blob 部分以取代缺失的部分添加: NDB 8.0.20
--character-sets-dir=path包含字符集的目录移除: 8.0.31
--check-missing检查具有内联部分但从部分表中缺少一个或多个部分的 blob添加: NDB 8.0.20
--check-orphans检查没有对应内联部分的 blob 部分(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--connect-retries=#放弃之前重试连接的次数(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--connect-retry-delay=#重试联系管理服务器之间等待的秒数(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--connect-string=connection_string,-c connection_string与 --ndb-connectstring 相同(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--core-file在错误时写入核心文件;用于调试移除: 8.0.31
--database=name,-d name要在其中查找表的数据库(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--defaults-extra-file=path在全局文件读取后读取给定文件(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--defaults-file=path仅从给定文件中读取默认选项(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--defaults-group-suffix=string也读取具有 concat(group, suffix) 的组(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--delete-orphans删除没有对应内联部分的 blob 部分(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--dump-file=file将孤立键写入指定文件(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--help,-?显示帮助文本并退出(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--login-path=path从登录文件中读取给定路径(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--ndb-connectstring=connection_string,-c connection_string设置用于连接到 ndb_mgmd 的连接字符串。语法: "[nodeid=id;][host=]hostname[:port]"。覆盖 NDB_CONNECTSTRING 和 my.cnf 中的条目(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--ndb-mgmd-host=connection_string,-c connection_string与 --ndb-connectstring 相同(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--ndb-nodeid=#为此节点设置节点 ID,覆盖 --ndb-connectstring 设置的任何 ID(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--ndb-optimized-node-selection启用用于事务节点选择的优化。默认启用;使用 --skip-ndb-optimized-node-selection 来禁用已移除: 8.0.31
--no-defaults不从除登录文件之外的任何选项文件中读取默认选项(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--print-defaults打印程序参数列表并退出(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--usage,-?显示帮助文本并退出;与 --help 相同(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--verbose,-v详细输出(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--version,-V显示版本信息并退出(支持所有基于 MySQL 8.0 的 NDB 版本)
格式描述添加、弃用或移除
  • --add-missing

    命令行格式--add-missing
    引入版本8.0.20-ndb-8.0.20

    对于 NDB Cluster 表中没有对应 BLOB 部分的每个内联部分,写入所需长度的虚拟 BLOB 部分,由空格组成。

  • --character-sets-dir

    命令行格式--character-sets-dir=path
    移除版本8.0.31

    包含字符集的目录。

  • --check-missing

    命令行格式--check-missing
    引入版本8.0.20-ndb-8.0.20

    检查 NDB Cluster 表中没有对应 BLOB 部分的内联部分。

  • --check-orphans

    命令行格式--check-orphans

    检查 NDB Cluster 表中没有对应内联部分的 BLOB 部分。

  • --connect-retries

    命令行格式--connect-retries=#
    类型整数
    默认值12
    最小值0
    最大值12

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

  • --connect-retry-delay

    命令行格式--connect-retry-delay=#
    类型整数
    默认值5
    最小值0
    最大值5

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

  • --connect-string

    命令行格式--connect-string=connection_string
    类型字符串
    默认值[none]

    --ndb-connectstring 相同。

  • --core-file

    命令行格式--core-file
    移除版本8.0.31

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

  • --database=*db_name*, -d

    命令行格式--database=name
    类型字符串
    默认值[none]

    指定要在其中查找表的数据库。

  • --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) 的组。

  • --delete-orphans

    命令行格式--delete-orphans

    从 NDB Cluster 表中删除没有对应内联部分的 BLOB 部分。

  • --dump-file=*file*

    命令行格式--dump-file=file
    类型文件名
    默认数值[none]

    将孤立的 BLOB 列部分的列表写入 file。写入文件的信息包括每个孤立的 BLOB 部分的表键和部分编号。

  • --help

    命令行格式--help

    显示帮助文本并退出。

  • --login-path

    命令行格式--login-path=path
    类型字符串
    默认数值[none]

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

  • --ndb-connectstring

    命令行格式--ndb-connectstring=connection_string
    类型字符串
    ��认数值[none]

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

  • --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-defaults

    命令行格式--no-defaults

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

  • --print-defaults

    命令行格式--print-defaults

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

  • --usage

    命令行格式--usage

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

  • --verbose

    命令行格式--verbose

    在工具的输出中提供关于其进度的额外信息。

  • --version

    命令行格式--version

    显示版本信息并退出。

示例

首先,我们在test数据库中创建一个NDB表,使用这里显示的CREATE TABLE语句:

USE test;

CREATE TABLE btest (
    c0 BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
    c1 TEXT,
    c2 BLOB
)   ENGINE=NDB;

然后,我们向这个表中插入几行数据,使用类似于这个语句的一系列语句:

INSERT INTO btest VALUES (NULL, 'x', REPEAT('x', 1000));

当针对这个表运行--check-orphans时,ndb_blob_tool 生成以下输出:

$> ndb_blob_tool --check-orphans --verbose -d test btest
connected
processing 2 blobs
processing blob #0 c1 NDB$BLOB_19_1
NDB$BLOB_19_1: nextResult: res=1
total parts: 0
orphan parts: 0
processing blob #1 c2 NDB$BLOB_19_2
NDB$BLOB_19_2: nextResult: res=0
NDB$BLOB_19_2: nextResult: res=0
NDB$BLOB_19_2: nextResult: res=0
NDB$BLOB_19_2: nextResult: res=0
NDB$BLOB_19_2: nextResult: res=0
NDB$BLOB_19_2: nextResult: res=0
NDB$BLOB_19_2: nextResult: res=0
NDB$BLOB_19_2: nextResult: res=0
NDB$BLOB_19_2: nextResult: res=0
NDB$BLOB_19_2: nextResult: res=0
NDB$BLOB_19_2: nextResult: res=1
total parts: 10
orphan parts: 0
disconnected

该工具报告称,与列c1关联的NDB BLOB 列部分不存在,即使c1是一个TEXT列。 这是因为,在NDB表中,只有BLOBTEXT列值的前 256 个字节被内联存储,多余的部分(如果有的话)被单独存储;因此,如果给定类型的列中没有使用超过 256 字节的值,则NDB不会为此列创建BLOB列部分。 更多信息请参见第 13.7 节,“数据类型存储要求”。

25.5.7 ndb_config — 提取 NDB 集群配置信息

原文:dev.mysql.com/doc/refman/8.0/en/mysql-cluster-programs-ndb-config.html

此工具从多个来源之一提取数据节点、SQL 节点和 API 节点的当前配置信息:NDB 集群管理节点,或其config.inimy.cnf文件。默认情况下,管理节点是配置数据的来源;要覆盖默认设置,请使用--config-file--mycnf选项执行 ndb_config。还可以通过指定其节点 ID 与--config_from_node=*node_id*来使用数据节点作为来源。

ndb_config还可以提供所有配置参数的离线转储,包括它们的默认值、最大值、最小值和其他信息。��储可以以文本或 XML 格式生成;有关更多信息,请参阅本节后面关于--configinfo--xml选项的讨论。

你可以通过选项--nodes--system,或--connections来按部分(DBSYSTEMCONNECTIONS)过滤结果。

所有可与ndb_config一起使用的选项都显示在下表中。表后面会有额外的描述。

表 25.29 与程序 ndb_config 一起使用的命令行选项

格式描述添加、弃用或移除
--character-sets-dir=path包含字符集的目录移除:8.0.31
--cluster-config-suffix=name在读取my.cnf文件中的 cluster_config 部分时覆盖默认组后缀;用于测试添加:NDB 8.0.24
--config-binary-file=path/to/file读取此二进制配置文件添加:NDB 8.0.32
--config-file=file_name设置到 config.ini 文件的路径(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--config-from-node=#从具有此 ID 的节点(必须是数据节点)获取配置数据(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--configinfo以文本格式转储所有 NDB 配置参数的信息,包括默认值、最大值和最小值。与--xml 一起使用以获取 XML 输出(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--connections仅打印有关集群配置文件的[tcp]、[tcp default]、[sci]、[sci default]、[shm]或[shm default]部分指定的连接的信息。不能与--system 或--nodes 一起使用(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--connect-retries=#在放弃之前重试连接的次数(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--connect-retry-delay=#尝试联系管理服务器之间等待的秒数(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--connect-string=connection_string,-c connection_string与--ndb-connectstring 相同(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--core-file在错误时写入核心文件;用于调试已移除:8.0.31
--defaults-extra-file=path在全局文件读取后读取给定文件(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--defaults-file=path仅从给定文件中读取默认选项(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--defaults-group-suffix=string还读取具有 concat(group, suffix)的组(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--diff-default仅打印具有非默认值的配置参数(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--fields=string,-f字段分隔符(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--help,-?显示帮助文本并退出(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--host=name指定主机(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--login-path=path从登录文件中读取给定路径(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--mycnf从 my.cnf 文件中读取配置数据(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--ndb-connectstring=connection_string,-c connection_string设置连接到 ndb_mgmd 的连接字符串。语法:"[nodeid=id;][host=]hostname[:port]"。覆盖 NDB_CONNECTSTRING 和 my.cnf 中的条目(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--ndb-mgmd-host=connection_string,-c connection_string与--ndb-connectstring 相同(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--ndb-nodeid=#为此节点设置节点 ID,覆盖--ndb-connectstring 设置的任何 ID移除:8.0.31
--ndb-optimized-node-selection启用优化以选择事务节点。默认启用;使用--skip-ndb-optimized-node-selection 来禁用移除:8.0.31
--no-defaults不要从登录文件以外的任何选项文件中读取默认选项(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--nodeid=#获取具有此 ID 的节点配置(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--nodes仅打印节点信息(集群配置文件的[ndbd]或[ndbd default]部分)。不能与--system 或--connections 一起使用(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--query=string,-q string一个或多个查询选项(属性)(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--query-all,-a将所有参数和值转储到单个逗号分隔的字符串中(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--print-defaults打印程序参数列表并退出(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--rows=string,-r string行分隔符(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--system仅打印 SYSTEM 部分信息(请参阅 ndb_config --configinfo 输出)。不能与 --nodes 或 --connections 一起使用(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--type=name指定节点类型(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--usage,-?显示帮助文本并退出;与 --help 相同(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--version,-V显示版本信息并退出(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--configinfo --xml使用 --xml ��� --configinfo 以 XML 格式获取所有 NDB 配置参数的转储,包括默认、最大和最小值(在基于 MySQL 8.0 的所有 NDB 版本中支持)
格式描述添加、弃用或移除
  • cluster-config-suffix

    命令行格式--cluster-config-suffix=name
    引入8.0.24-ndb-8.0.24
    类型字符串
    默认值[none]

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

  • --configinfo

    --configinfo选项导致ndb_config列出了 NDB 集群配置参数的列表,这些参数受 NDB 集群分发的支持,其中ndb_config是其中的一部分,包括以下信息:

    • 每个参数的目的、效果和用法的简要描述

    • 参数可能在config.ini文件中使用的部分

    • 参数的数据类型或计量单位

    • 在适用的情况下,参数的默认值、最小值和最大值

    • NDB Cluster 发布版本和构建信息

    默认情况下,此输出为文本格式。这里显示了部分输出:

    $> ndb_config --configinfo
    
    ****** SYSTEM ******
    
    Name (String)
    Name of system (NDB Cluster)
    MANDATORY
    
    PrimaryMGMNode (Non-negative Integer)
    Node id of Primary ndb_mgmd(MGM) node
    Default: 0 (Min: 0, Max: 4294967039)
    
    ConfigGenerationNumber (Non-negative Integer)
    Configuration generation number
    Default: 0 (Min: 0, Max: 4294967039)
    
    ****** DB ******
    
    MaxNoOfSubscriptions (Non-negative Integer)
    Max no of subscriptions (default 0 == MaxNoOfTables)
    Default: 0 (Min: 0, Max: 4294967039)
    
    MaxNoOfSubscribers (Non-negative Integer)
    Max no of subscribers (default 0 == 2 * MaxNoOfTables)
    Default: 0 (Min: 0, Max: 4294967039)
    
    …
    

    --xml选项一起使用以获取 XML 格式的输出。

  • --config-binary-file=*path-to-file*

    命令行格式--config-binary-file=path/to/file
    引入版本8.0.32-ndb-8.0.32
    类型文件名
    默认值

    给出管理服务器缓存的二进制配置文件(ndb_*nodeID*_config.bin.*seqno*)的路径。这可以是相对路径或绝对路径。如果管理服务器和使用的ndb_config二进制文件位于不同主机上,则必须使用绝对路径。

    这个示例演示了将--config-binary-file与其他ndb_config选项结合使用以获得有用的输出:

    > ndb_config --config-binary-file=ndb_50_config.bin.1 --diff-default --type=ndbd
    config of [DB] node id 5 that is different from default 
    CONFIG_PARAMETER,ACTUAL_VALUE,DEFAULT_VALUE 
    NodeId,5,(mandatory) 
    BackupDataDir,/home/jon/data/8.0,(null) 
    DataDir,/home/jon/data/8.0,. 
    DataMemory,2G,98M 
    FileSystemPath,/home/jon/data/8.0,(null) 
    HostName,127.0.0.1,localhost 
    Nodegroup,0,(null) 
    ThreadConfig,,(null) 
    
    config of [DB] node id 6 that is different from default 
    CONFIG_PARAMETER,ACTUAL_VALUE,DEFAULT_VALUE 
    NodeId,6,(mandatory) 
    BackupDataDir,/home/jon/data/8.0,(null) 
    DataDir,/home/jon/data/8.0,. 
    DataMemory,2G,98M 
    FileSystemPath,/home/jon/data/8.0,(null) 
    HostName,127.0.0.1,localhost 
    Nodegroup,0,(null) 
    ThreadConfig,,(null)
    
    > ndb_config --config-binary-file=ndb_50_config.bin.1 --diff-default --system
    config of [SYSTEM] system 
    CONFIG_PARAMETER,ACTUAL_VALUE,DEFAULT_VALUE 
    Name,MC_20220216092809,(mandatory) 
    ConfigGenerationNumber,1,0 
    PrimaryMGMNode,50,0
    

    显示了config.ini文件的相关部分:

    [ndbd default]
    DataMemory= 2G
    NoOfReplicas= 2
    
    [ndb_mgmd]
    NodeId= 50
    HostName= 127.0.0.1
    
    [ndbd]
    NodeId= 5
    HostName= 127.0.0.1
    DataDir= /home/jon/data/8.0
    
    [ndbd]
    NodeId= 6
    HostName= 127.0.0.1
    DataDir= /home/jon/data/8.0
    

    通过将输出与配置文件进行比较,您可以看到管理服务器已将文件中的所有设置写入二进制缓存,从而应用于集群。

  • --config-file=*path-to-file*

    命令行格式--config-file=file_name
    类型文件名
    默认值

    给出集群配置文件(config.ini)的路径。这可以是相对路径或绝对路径。如果管理服务器和使用的ndb_config二进制文件位于不同主机上,则必须使用绝对路径。

  • --config_from_node=#

    命令行格式--config-from-node=#
    类型数值
    默认值none
    最小值1
    最大值48

    从具有此 ID 的数据节点获取集群的配置数据。

    如果具有此 ID 的节点不是数据节点,则ndb_config将失败并显示错误。(要从管理节点而不是数据节点获取配置数据,只需省略此选项。)

  • --connections

    命令行格式--connections

    告诉ndb_config仅打印CONNECTIONS信息,即集群配置文件的[tcp][tcp default][shm][shm default]部分中找到的参数信息(有关更多信息,请参见第 25.4.3.10 节,“NDB Cluster TCP/IP Connections”和第 25.4.3.12 节,“NDB Cluster Shared-Memory Connections”)。

    此选项与--nodes--system互斥;这 3 个选项中只能使用一个。

  • --diff-default

    命令行格式--diff-default

    仅打印具有非默认值的配置参数。

  • --fields=*delimiter*, -f delimiter

    命令行格式--fields=string
    类型字符串
    默认值

    指定用于分隔结果中字段的*delimiter*字符串。默认值为,(逗号字符)。

    注意

    如果*delimiter*包含空格或转义字符(例如换行符\n),则必须用引号括起来。

  • --host=*hostname*

    命令行格式--host=name
    类型字符串
    默认值

    指定要获取配置信息的节点的主机名。

    注意

    虽然主机名localhost通常解析为 IP 地址127.0.0.1,但这并不一定适用于所有操作平台和配置。这意味着当localhostconfig.ini中使用时,如果在解析为不同地址的主机上运行ndb_config --host=localhost,可能会导致失败(例如,在某些版本的 SUSE Linux 上,这是127.0.0.2)。一般来说,为了获得最佳结果,您应该对所有与主机相关的 NDB Cluster 配置值使用数字 IP 地址,或验证所有 NDB Cluster 主机以相同方式处理localhost

  • --mycnf

    命令行格式--mycnf

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

  • --ndb-connectstring=*connection_string*, -c *connection_string*

    命令行格式--ndb-connectstring=connection_string
    类型字符串
    默认值[none]

    指定用于连接到管理服务器的连接字符串。连接字符串的格式与第 25.4.3.3 节,“NDB 集群连接字符串”中描述的相同,并默认为localhost:1186

  • --no-defaults

    命令行格式--no-defaults

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

  • --nodeid=*node_id*

    命令行格式--ndb-nodeid=#
    已移除8.0.31
    类型整数
    默认值[none]

    指定要获取配置信息的节点的节点 ID。

  • --nodes

    命令行格式--nodes

    告诉ndb_config仅打印与集群配置文件的[ndbd][ndbd default]部分中定义的参数相关的信息(请参见第 25.4.3.6 节,“定义 NDB 集群数据节点”)。

    此选项与--connections--system互斥;只能使用这 3 个选项中的一个。

  • --query=*query-options*-q query-options

    命令行格式--query=string
    类型字符串
    默认值

    这是一个查询选项的逗号分隔列表,即要返回的一个或多个节点属性的列表。这些包括nodeid(节点 ID)、type(节点类型,即ndbdmysqldndb_mgmd)以及要获取其值的任何配置参数。

    例如,--query=nodeid,type,datamemory,datadir 返回每个节点的节点 ID、节点类型、DataMemoryDataDir

    注意

    如果给定参数不适用于某种类型的节点,则对应值将返回为空字符串。有关更多信息,请参见本节后面的示例。

  • --query-all-a

    命令行格式--query-all
    类型字符串
    默认值

    返回所有查询选项(节点属性)的逗号分隔列表(请注意,此列表是一个字符串)。

  • --rows=*separator*-r separator

    命令行格式--rows=string
    类型字符串
    默认值

    指定用于在结果中分隔行的*separator*字符串。默认为一个空格字符。

    注意

    如果*separator*包含空格或转义字符(如\n代表换行符),则必须用引号括起来。

  • --system

    命令行格式--system

    告诉ndb_config仅打印SYSTEM信息。这包括无法在运行时更改的系统变量;因此,在集群配置文件的相应部分中没有对应的内容。它们可以在ndb_config --configinfo的输出中看到(前缀为****** SYSTEM ******)。

    此选项与--nodes--connections互斥;只能使用这 3 个选项中的一个。

  • --type=*node_type*

    命令行格式--type=name
    类型枚举
    默认值[none]
    有效值ndbd``mysqld``ndb_mgmd

    仅返回适用于指定*node_type*(ndbdmysqldndb_mgmd)的节点的配置值。

  • --usage--help-?

    命令行格式--help

    使ndb_config打印可用选项列表,然后退出。

  • --version-V

    命令行格式--version

    使ndb_config打印版本信息字符串,然后退出。

  • --configinfo --xml

    命令行格式--configinfo --xml

    通过添加此选项,使ndb_config --configinfo以 XML 格式提供输出。此示例中显示了部分输出:

    $> ndb_config --configinfo --xml
    
    <configvariables protocolversion="1" ndbversionstring="5.7.44-ndb-7.5.32"
                        ndbversion="460032" ndbversionmajor="7" ndbversionminor="5"
                        ndbversionbuild="0">
      <section name="SYSTEM">
        <param name="Name" comment="Name of system (NDB Cluster)" type="string"
                  mandatory="true"/>
        <param name="PrimaryMGMNode" comment="Node id of Primary ndb_mgmd(MGM) node"
                  type="unsigned" default="0" min="0" max="4294967039"/>
        <param name="ConfigGenerationNumber" comment="Configuration generation number"
                  type="unsigned" default="0" min="0" max="4294967039"/>
      </section>
      <section name="MYSQLD" primarykeys="NodeId">
        <param name="wan" comment="Use WAN TCP setting as default" type="bool"
                  default="false"/>
        <param name="HostName" comment="Name of computer for this node"
                  type="string" default=""/>
        <param name="Id" comment="NodeId" type="unsigned" mandatory="true"
                  min="1" max="255" deprecated="true"/>
        <param name="NodeId" comment="Number identifying application node (mysqld(API))"
                  type="unsigned" mandatory="true" min="1" max="255"/>
        <param name="ExecuteOnComputer" comment="HostName" type="string"
                  deprecated="true"/></section></configvariables>
    

    注意

    通常,由ndb_config --configinfo --xml生成的 XML 输出使用每个元素一行的格式;我们在前面的示例以及下一个示例中添加了额外的空格,以提高可读性。这不应对使用此输出的应用程序产生任何影响,因为大多数 XML 处理器要么默认忽略非必要的空格,要么可以被指示忽略。

    XML 输出还指示了当更改给定参数需要使用--initial选项重新启动数据节点时。这通过相应的<param>元素中存在initial="true"属性来显示。此外,还显示了重新启动类型(systemnode);如果某个参数需要系统重新启动,则在相应的<param>元素中存在restart="system"属性。例如,更改Diskless参数设置的值需要进行系统初始重新启动,如下所示(高亮显示restartinitial属性以便查看):

    <param name="Diskless" comment="Run wo/ disk" type="bool" default="false"
              *restart="system" initial="true"*/>
    

    目前,在不需要初始重新启动的参数对应的<param>元素的 XML 输出中不包含initial属性;换句话说,initial="false"是默认值,如果属性不存在,则应假定值为false。类似地,默认的重新启动类型是node(即集群的在线或“滚动”重新启动),但只有当重新启动类型为system时才包含restart属性(表示所有集群节点必须同时关闭,然后重新启动)。

    弃用的参数在 XML 输出中通过deprecated属性来指示,如下所示:

    <param name="NoOfDiskPagesToDiskAfterRestartACC" comment="DiskCheckpointSpeed"
           type="unsigned" default="20" min="1" max="4294967039" *deprecated="true"*/>
    

    在这种情况下,comment指的是一个或多个取代弃用参数的参数。与initial类似,deprecated属性仅在参数被弃用时显示为deprecated="true",对于未被弃用的参数根本不显示。 (Bug #21127135)

    必需的参数通过mandatory="true"来指示,如下所示:

    <param name="NodeId"
              comment="Number identifying application node (mysqld(API))"
              type="unsigned" *mandatory="true"* min="1" max="255"/>
    

    initialdeprecated属性仅对需要初始重新启动或已弃用的参数显示类似,mandatory属性仅在给定参数实际上是必需的时包含。

    重要

    --xml选项只能与--configinfo选项一起使用。在没有--configinfo的情况下使用--xml会导致错误。

    与此程序一起使用的选项用于获取当前配置数据,--configinfo--xml 使用编译 ndb_config 时从 NDB Cluster 源获取的信息。因此,这两个选项不需要连接到运行中的 NDB Cluster 或访问 config.inimy.cnf 文件。

  • --print-defaults

    命令行格式--print-defaults

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

  • --defaults-file

    命令行格式--defaults-file=path
    类型字符串
    默认值[无]

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

  • --defaults-extra-file

    命令行格式--defaults-extra-file=path
    类型字符串
    默认值[无]

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

  • --defaults-group-suffix

    命令行格式--defaults-group-suffix=string
    类型字符串
    默认值[无]

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

  • --login-path

    命令行格式--login-path=path
    类型字符串
    默认值[无]

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

  • --help

    命令行格式--help

    显示帮助文本并退出。

  • --connect-string

    命令行格式--connect-string=connection_string
    类型字符串
    默认值[无]

    --ndb-connectstring 相同。

  • --ndb-mgmd-host

    命令行格式--ndb-mgmd-host=connection_string
    类型字符串
    默认值[无]

    --ndb-connectstring 相同。

  • --ndb-nodeid

    命令行格式--ndb-nodeid=#
    已移除8.0.31
    类型整数
    默认值[无]

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

  • --core-file

    命令行格式--core-file
    已移除8.0.31

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

  • --character-sets-dir

    命令行格式--character-sets-dir=path
    移除8.0.31

    包含字符集的目录。

  • --connect-retries

    命令行格式--connect-retries=#
    类型整数
    默认值12
    最小值0
    最大值12

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

  • --connect-retry-delay

    命令行格式--connect-retry-delay=#
    类型整数
    默认值5
    最小值0
    最大值5

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

  • --ndb-optimized-node-selection

    命令行格式--ndb-optimized-node-selection
    移除8.0.31

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

结合其他ndb_config选项(如--query--type)与--configinfo(带有或不带有--xml选项)不受支持。当前,如果尝试这样做,通常的结果是除了--configinfo--xml之外的所有其他选项都会被简单忽略。但是,此行为不能保证且随时可能更改。此外,由于ndb_config在使用--configinfo选项时不访问 NDB 集群或读取任何文件,因此尝试使用--configinfo指定其他选项,如--ndb-connectstring--config-file没有任何意义。

示例

  1. 获得集群中每个节点的节点 ID 和类型:

    $> ./ndb_config --query=nodeid,type --fields=':' --rows='\n'
    1:ndbd
    2:ndbd
    3:ndbd
    4:ndbd
    5:ndb_mgmd
    6:mysqld
    7:mysqld
    8:mysqld
    9:mysqld
    

    在这个例子中,我们使用--fields选项用冒号字符(:)分隔每个节点的 ID 和类型,并使用--rows选项将每个节点的值放在输出中的新行上。

  2. 生成一个连接字符串,可供数据、SQL 和 API 节点连接到管理服务器:

    $> ./ndb_config --config-file=usr/local/mysql/cluster-data/config.ini \
    --query=hostname,portnumber --fields=: --rows=, --type=ndb_mgmd
    198.51.100.179:1186
    
  3. 这个调用ndb_config仅检查数据节点(使用--type选项),并显示每个节点的 ID 和主机名的值,以及为其设置的DataMemoryDataDir参数的值:

    $> ./ndb_config --type=ndbd --query=nodeid,host,datamemory,datadir -f ' : ' -r '\n'
    1 : 198.51.100.193 : 83886080 : /usr/local/mysql/cluster-data
    2 : 198.51.100.112 : 83886080 : /usr/local/mysql/cluster-data
    3 : 198.51.100.176 : 83886080 : /usr/local/mysql/cluster-data
    4 : 198.51.100.119 : 83886080 : /usr/local/mysql/cluster-data
    

    在这个例子中,我们使用了短选项-f-r来设置字段分隔符和行分隔符,同时使用了短选项-q来传递要获取的参数列表。

  4. 要排除除特定主机之外的任何主机的结果,请使用--host选项:

    $> ./ndb_config --host=198.51.100.176 -f : -r '\n' -q id,type
    3:ndbd
    5:ndb_mgmd
    

    在这个例子中,我们还使用了短形式-q来确定要查询的属性。

    同样,您可以使用--nodeid选项将结果限制为具有特定 ID 的节点。

25.5.8 ndb_delete_all — 从 NDB 表中删除所有行

原文:dev.mysql.com/doc/refman/8.0/en/mysql-cluster-programs-ndb-delete-all.html

ndb_delete_all 会删除给定 NDB 表中的所有行。在某些情况下,这比 DELETE 甚至 TRUNCATE TABLE 要快得多。

用法

ndb_delete_all -c *connection_string* *tbl_name* -d *db_name*

这将从名为 tbl_name 的表中删除所有行,该表位于名为 db_name 的数据库中。这与在 MySQL 中执行 TRUNCATE *db_name*.*tbl_name* 是完全等效的。

可与 ndb_delete_all 一起使用的选项显示在以下表中。表后面会有额外的描述。

表 25.30 与���序 ndb_delete_all 一起使用的命令行选项

格式描述添加、弃用或移除
--character-sets-dir=path包含字符集的目录移除:8.0.31
--connect-retries=#放弃之前重试连接的次数(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--connect-retry-delay=#尝试联系管理服务器之间等待的秒数(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--connect-string=connection_string,-c connection_string与 --ndb-connectstring 相同(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--core-file在错误时写入核心文件;用于调试移除:8.0.31
--database=name,-d name表所在数据库的名称(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--defaults-extra-file=path在全局文件读取后读取给定文件(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--defaults-file=path仅从给定文件中读取默认选项(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--defaults-group-suffix=string也读取具有 concat(group, suffix) 的组(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--diskscan执行磁盘扫描(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--help,-?显示帮助文本并退出(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--login-path=path从登录文件中读取给定路径(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--ndb-connectstring=connection_string,-c connection_string设置用于连接到 ndb_mgmd 的连接字符串。语法:"[nodeid=id;][host=]hostname[:port]"。覆盖 NDB_CONNECTSTRING 和 my.cnf 中的条目(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--ndb-mgmd-host=connection_string,-c connection_string与 --ndb-connectstring 相同(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--ndb-nodeid=#为此节点设置节点 ID,覆盖由 --ndb-connectstring 设置的任何 ID(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--ndb-optimized-node-selection启用用于事务节点选择的优化。默认启用;使用 --skip-ndb-optimized-node-selection 来禁用已移除: 8.0.31
--no-defaults不从登录文件以外的任何选项文件中读取默认选项(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--print-defaults打印程序参数列表并退出(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--transactional,-t在一个单一事务中执行删除操作;在使用时可能会用完操作(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--tupscan执行元组扫描(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--usage,-?显示帮助文本并退出;与 --help 相同(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--version,-V显示版本信息并退出(在基于 MySQL 8.0 的所有 NDB 版本中支持)
格式描述添加、弃用或移除
  • --character-sets-dir

    命令行格式--character-sets-dir=path
    移除8.0.31

    包含字符集的目录。

  • --connect-retries

    命令行格式--connect-retries=#
    类型整数
    默认值12
    最小值0
    最大值12

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

  • --connect-retry-delay

    命令行格式--connect-retry-delay=#
    类型整数
    默认值5
    最小值0
    最大值5

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

  • --connect-string

    命令行格式--connect-string=connection_string
    类型字符串
    默认值[none]

    --ndb-connectstring相同。

  • --core-file

    命令行格式--core-file
    移除8.0.31

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

  • --database, -d

    命令行格式--database=name
    类型字符串
    默认值TEST_DB

    包含要从中删除表的数据库的名称。

  • --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) 的组。

  • --diskscan

    命令行格式--diskscan

    运行磁盘扫描。

  • --help

    命令行格式--help

    显示帮助文本并退出。

  • --login-path

    命令行格式--login-path=path
    类型字符串
    默认值[none]

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

  • --ndb-connectstring

    命令行格式--ndb-connectstring=connection_string
    类型字符串
    默认值[none]

    设置用于连接到 ndb_mgmd 的连接字符串。语法:"[nodeid=id;][host=]hostname[:port]"。覆盖 NDB_CONNECTSTRING 和 my.cnf 中的条目。

  • --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-defaults

    命令行格式--no-defaults

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

  • --print-defaults

    命令行格式--print-defaults

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

  • --transactional, -t

    使用此选项会导致删除操作作为单个事务执行。

    警告

    对于非常大的表,使用此选项可能导致集群可用的操作数量超出限制。

  • --tupscan

    运行元组扫描。

  • --usage

    命令行格式--usage

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

  • --version

    命令行格式--version

    显示版本信息并退出。

在 NDB 7.6 及更早版本中,由于对 NDBT 测试库的不必要依赖,该程序在运行完成时打印 NDBT_ProgramExit - *status*,在 NDB 8.0 中已移除此依赖,消除了多余的输出。

25.5.9 ndb_desc — 描述 NDB 表

原文:dev.mysql.com/doc/refman/8.0/en/mysql-cluster-programs-ndb-desc.html

ndb_desc提供了一个或多个NDB表的详细描述。

用法

ndb_desc -c *connection_string* *tbl_name* -d *db_name* [*options*]

ndb_desc -c *connection_string* *index_name* -d *db_name* -t *tbl_name*

可以在本节后面列出可与ndb_desc一起使用的其他选项。

示例输出

创建和填充 MySQL 表的语句:

USE test;

CREATE TABLE fish (
    id INT NOT NULL AUTO_INCREMENT,
    name VARCHAR(20) NOT NULL,
    length_mm INT NOT NULL,
    weight_gm INT NOT NULL,

    PRIMARY KEY pk (id),
    UNIQUE KEY uk (name)
) ENGINE=NDB;

INSERT INTO fish VALUES
    (NULL, 'guppy', 35, 2), (NULL, 'tuna', 2500, 150000),
    (NULL, 'shark', 3000, 110000), (NULL, 'manta ray', 1500, 50000),
    (NULL, 'grouper', 900, 125000), (NULL ,'puffer', 250, 2500);

ndb_desc的输出:

$> ./ndb_desc -c localhost fish -d test -p
-- fish --
Version: 2
Fragment type: HashMapPartition
K Value: 6
Min load factor: 78
Max load factor: 80
Temporary table: no
Number of attributes: 4
Number of primary keys: 1
Length of frm data: 337
Max Rows: 0
Row Checksum: 1
Row GCI: 1
SingleUserMode: 0
ForceVarPart: 1
PartitionCount: 2
FragmentCount: 2
PartitionBalance: FOR_RP_BY_LDM
ExtraRowGciBits: 0
ExtraRowAuthorBits: 0
TableStatus: Retrieved
Table options:
HashMap: DEFAULT-HASHMAP-3840-2
-- Attributes --
id Int PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY AUTO_INCR
name Varchar(20;latin1_swedish_ci) NOT NULL AT=SHORT_VAR ST=MEMORY DYNAMIC
length_mm Int NOT NULL AT=FIXED ST=MEMORY DYNAMIC
weight_gm Int NOT NULL AT=FIXED ST=MEMORY DYNAMIC
-- Indexes --
PRIMARY KEY(id) - UniqueHashIndex
PRIMARY(id) - OrderedIndex
uk(name) - OrderedIndex
uk$unique(name) - UniqueHashIndex
-- Per partition info --
Partition       Row count       Commit count    Frag fixed memory       Frag varsized memory    Extent_space    Free extent_space
0               2               2               32768                   32768                   0               0
1               4               4               32768                   32768                   0               0

可以通过使用它们的名称(用空格分隔)在单个调用中获取多个表的信息ndb_desc。所有表必须在同一个数据库中。

您可以使用--table(简写形式:-t)选项并将索引名称作为ndb_desc的第一个参数来获取有关特定索引的其他信息,如下所示:

$> ./ndb_desc uk -d test -t fish
-- uk --
Version: 2
Base table: fish
Number of attributes: 1
Logging: 0
Index type: OrderedIndex
Index status: Retrieved
-- Attributes --
name Varchar(20;latin1_swedish_ci) NOT NULL AT=SHORT_VAR ST=MEMORY
-- IndexTable 10/uk --
Version: 2
Fragment type: FragUndefined
K Value: 6
Min load factor: 78
Max load factor: 80
Temporary table: yes
Number of attributes: 2
Number of primary keys: 1
Length of frm data: 0
Max Rows: 0
Row Checksum: 1
Row GCI: 1
SingleUserMode: 2
ForceVarPart: 0
PartitionCount: 2
FragmentCount: 2
FragmentCountType: ONE_PER_LDM_PER_NODE
ExtraRowGciBits: 0
ExtraRowAuthorBits: 0
TableStatus: Retrieved
Table options:
-- Attributes --
name Varchar(20;latin1_swedish_ci) NOT NULL AT=SHORT_VAR ST=MEMORY
NDB$TNODE Unsigned [64] PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY
-- Indexes --
PRIMARY KEY(NDB$TNODE) - UniqueHashIndex

当以这种方式指定索引时,--extra-partition-info--extra-node-info选项不起作用。

输出中的Version列包含表的模式对象版本。有关解释此值的信息,请参阅 NDB ��式对象版本。

可以使用嵌入在CREATE TABLEALTER TABLE语句中的NDB_TABLE注释设置的三个表属性也可在ndb_desc输出中看到。表的FRAGMENT_COUNT_TYPE始终显示在FragmentCountType列中。如果将READ_ONLYFULLY_REPLICATED设置为 1,则会显示在Table options列中。您可以在mysql客户端中执行以下ALTER TABLE语句后查看此信息:

mysql> ALTER TABLE fish COMMENT='NDB_TABLE=READ_ONLY=1,FULLY_REPLICATED=1';
1 row in set, 1 warning (0.00 sec)

mysql> SHOW WARNINGS\G
+---------+------+---------------------------------------------------------------------------------------------------------+
| Level   | Code | Message                                                                                                 |
+---------+------+---------------------------------------------------------------------------------------------------------+
| Warning | 1296 | Got error 4503 'Table property is FRAGMENT_COUNT_TYPE=ONE_PER_LDM_PER_NODE but not in comment' from NDB |
+---------+------+---------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

发出警告是因为READ_ONLY=1要求表的片段计数类型为(或设置为)ONE_PER_LDM_PER_NODE_GROUP;在这种情况下,NDB会自动设置这一点。您可以使用SHOW CREATE TABLE检查ALTER TABLE语句是否产生了预期效果:

mysql> SHOW CREATE TABLE fish\G
*************************** 1\. row ***************************
       Table: fish
Create Table: CREATE TABLE `fish` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(20) NOT NULL,
  `length_mm` int(11) NOT NULL,
  `weight_gm` int(11) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk` (`name`)
) ENGINE=ndbcluster DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
COMMENT='NDB_TABLE=READ_BACKUP=1,FULLY_REPLICATED=1' 1 row in set (0.01 sec)

因为FRAGMENT_COUNT_TYPE没有被显式设置,所以在SHOW CREATE TABLE打印的注释文本中不显示其值。然而,ndb_desc显示了此属性的更新值。Table options列显示了刚刚启用的二进制属性。您可以在这里显示的输出中看到这一点(加粗的文本):

$> ./ndb_desc -c localhost fish -d test -p
-- fish --
Version: 4
Fragment type: HashMapPartition
K Value: 6
Min load factor: 78
Max load factor: 80
Temporary table: no
Number of attributes: 4
Number of primary keys: 1
Length of frm data: 380
Max Rows: 0
Row Checksum: 1
Row GCI: 1
SingleUserMode: 0
ForceVarPart: 1
PartitionCount: 1
FragmentCount: 1
*FragmentCountType: ONE_PER_LDM_PER_NODE_GROUP*
ExtraRowGciBits: 0
ExtraRowAuthorBits: 0
TableStatus: Retrieved
*Table options: readbackup, fullyreplicated*
HashMap: DEFAULT-HASHMAP-3840-1
-- Attributes --
id Int PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY AUTO_INCR
name Varchar(20;latin1_swedish_ci) NOT NULL AT=SHORT_VAR ST=MEMORY DYNAMIC
length_mm Int NOT NULL AT=FIXED ST=MEMORY DYNAMIC
weight_gm Int NOT NULL AT=FIXED ST=MEMORY DYNAMIC
-- Indexes --
PRIMARY KEY(id) - UniqueHashIndex
PRIMARY(id) - OrderedIndex
uk(name) - OrderedIndex
uk$unique(name) - UniqueHashIndex
-- Per partition info --
Partition       Row count       Commit count    Frag fixed memory       Frag varsized memory    Extent_space    Free extent_space

有关这些表属性的更多信息,请参见第 15.1.20.12 节,“设置 NDB 注释选项”。

Extent_spaceFree extent_space列仅适用于具有磁盘列的NDB表;对于仅具有内存列的表,这些列始终包含值0

为了说明它们的用途,我们修改了上一个示例。首先,我们必须创建必要的磁盘数据对象,如下所示:

CREATE LOGFILE GROUP lg_1
    ADD UNDOFILE 'undo_1.log'
    INITIAL_SIZE 16M
    UNDO_BUFFER_SIZE 2M
    ENGINE NDB;

ALTER LOGFILE GROUP lg_1
    ADD UNDOFILE 'undo_2.log'
    INITIAL_SIZE 12M
    ENGINE NDB;

CREATE TABLESPACE ts_1
    ADD DATAFILE 'data_1.dat'
    USE LOGFILE GROUP lg_1
    INITIAL_SIZE 32M
    ENGINE NDB;

ALTER TABLESPACE ts_1
    ADD DATAFILE 'data_2.dat'
    INITIAL_SIZE 48M
    ENGINE NDB;

(有关刚刚显示的语句和由它们创建的对象的更多信息,请参见第 25.6.11.1 节,“NDB 集群磁盘数据对象”,以及第 15.1.16 节,“CREATE LOGFILE GROUP 语句”和第 15.1.21 节,“CREATE TABLESPACE 语句”。)

现在我们可以创建并填充一个存储了fish表中 2 列在磁盘上的版本(如果该表已存在,则首先删除之前的版本):

DROP TABLE IF EXISTS fish;

CREATE TABLE fish (
    id INT NOT NULL AUTO_INCREMENT,
    name VARCHAR(20) NOT NULL,
    length_mm INT NOT NULL,
    weight_gm INT NOT NULL,

    PRIMARY KEY pk (id),
    UNIQUE KEY uk (name)
) TABLESPACE ts_1 STORAGE DISK
ENGINE=NDB;

INSERT INTO fish VALUES
    (NULL, 'guppy', 35, 2), (NULL, 'tuna', 2500, 150000),
    (NULL, 'shark', 3000, 110000), (NULL, 'manta ray', 1500, 50000),
    (NULL, 'grouper', 900, 125000), (NULL ,'puffer', 250, 2500);

当针对该表的此版本运行时,ndb_desc显示以下输出:

$> ./ndb_desc -c localhost fish -d test -p
-- fish --
Version: 1
Fragment type: HashMapPartition
K Value: 6
Min load factor: 78
Max load factor: 80
Temporary table: no
Number of attributes: 4
Number of primary keys: 1
Length of frm data: 1001
Max Rows: 0
Row Checksum: 1
Row GCI: 1
SingleUserMode: 0
ForceVarPart: 1
PartitionCount: 2
FragmentCount: 2
PartitionBalance: FOR_RP_BY_LDM
ExtraRowGciBits: 0
ExtraRowAuthorBits: 0
TableStatus: Retrieved
Table options: readbackup
HashMap: DEFAULT-HASHMAP-3840-2
Tablespace id: 16
Tablespace: ts_1
-- Attributes --
id Int PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY AUTO_INCR
name Varchar(80;utf8mb4_0900_ai_ci) NOT NULL AT=SHORT_VAR ST=MEMORY
length_mm Int NOT NULL AT=FIXED ST=DISK
weight_gm Int NOT NULL AT=FIXED ST=DISK
-- Indexes --
PRIMARY KEY(id) - UniqueHashIndex
PRIMARY(id) - OrderedIndex
uk(name) - OrderedIndex
uk$unique(name) - UniqueHashIndex
-- Per partition info --
Partition       Row count       Commit count    Frag fixed memory       Frag varsized memory    Extent_space    Free extent_space
0               2               2               32768                   32768                   1048576         1044440
1               4               4               32768                   32768                   1048576         1044400

这意味着每个分区为该表从表空间分配了 1048576 字节,其中有 1044440 字节可用于额外的存储空间。换句话说,每个分区当前使用 4136 字节来存储来自该表的磁盘列的数据。Free extent_space显示的字节数仅用于存储fish表的磁盘列数据;因此,在从 Information Schema FILES表中进行选择时,它是不可见的。

从 NDB 8.0.21 开始,对于具有磁盘数据的表,Tablespace idTablespace将被显示。

对于完全复制的表,ndb_desc仅显示持有主分区片段副本的节点;仅具有副本分区副本的节点将被忽略。您可以使用mysql客户端从table_distribution_statustable_fragmentstable_infotable_replicas表中的信息来获取这样的信息,这些表位于ndbinfo数据库中。

所有可以与ndb_desc一起使用的选项都显示在下表中。表后面还有附加描述。

表 25.31 与程序 ndb_desc 一起使用的命令行选项

格式描述新增、弃用或移除
--auto-inc,-a如果表有 AUTO_INCREMENT 列,则显示下一个值新增:NDB 8.0.21
--blob-info,-b在输出中包含 BLOB 表的分区信息。需要同时使用-p 选项(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--character-sets-dir=path包含字符集的目录移除:8.0.31
--connect-retries=#放弃之前重试连接的次数(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--connect-retry-delay=#尝试联系管理服务器之间等待的秒数(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--connect-string=connection_string,-c connection_string与--ndb-connectstring 相同(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--context,-x显示表的额外信息,如数据库、模式、名称和内部 ID新增:NDB 8.0.21
--core-file在错误时写入核心文件;用于调试已移除:8.0.31
--database=name,-d name包含表的数据库名称(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--defaults-extra-file=path在全局文件读取后读取给定文件(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--defaults-file=path仅从给定文件中读取默认选项(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--defaults-group-suffix=string也读取连接组与后缀连接(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--extra-node-info,-n在输出中包含分区到数据节点的映射;需要 --extra-partition-info(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--extra-partition-info,-p显示有关分区的信息(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--help,-?显示帮助文本并退出(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--login-path=path从登录文件中读取给定路径(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--ndb-connectstring=connection_string,-c connection_string设置连接到 ndb_mgmd 的连接字符串。语法:"[nodeid=id;][host=]hostname[:port]"。覆盖 NDB_CONNECTSTRING 和 my.cnf 中的条目(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--ndb-mgmd-host=connection_string,-c connection_string与 --ndb-connectstring 相同(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--ndb-nodeid=#为此节点设置节点 ID,覆盖 --ndb-connectstring 设置的任何 ID(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--ndb-optimized-node-selection启用优化以选择事务节点。默认启用;使用 --skip-ndb-optimized-node-selection 来禁用移除: 8.0.31
--no-defaults不从登录文件以外的任何选项文件中读取默认选项(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--print-defaults打印程序参数列表并退出(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--retries=#,-r #重试连接的次数(每秒一次)(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--table=name,-t name指定要查找索引的表。使用此选项时,-p 和 -n 没有效果且被忽略(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--unqualified,-u使用未限定的表名(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--usage,-?显示帮助文本并退出;与 --help 相同(在基于 MySQL 8.0 的所有 NDB 版本中支持)
--version,-V显示版本信息并退出(在基于 MySQL 8.0 的所有 NDB 版本中支持)
格式描述添加、弃用或移除
  • --auto-inc, -a

    显示表的 AUTO_INCREMENT 列的下一个值,如果有的话。

  • --blob-info, -b

    包括有关从属 BLOBTEXT 列的信息。

    使用此选项还需要使用 --extra-partition-info (-p) 选项。

  • --character-sets-dir

    命令行格式--character-sets-dir=path
    移除8.0.31

    包含字符集的目录。

  • --connect-retries

    命令行格式--connect-retries=#
    类型整数
    默认值12
    最小值0
    最大值12

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

  • --connect-retry-delay

    命令行格式--connect-retry-delay=#
    类型整数
    默认值5
    最小值0
    最大值5

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

  • --connect-string

    命令行格式--connect-string=connection_string
    类型字符串
    默认值[无]

    --ndb-connectstring相同。

  • --context, -x

    显示有关表的其他上下文信息,例如模式、数据库名称、表名称和表的内部 ID。

  • --core-file

    命令行格式--core-file
    已移除8.0.31

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

  • --database=*db_name*, -d

    指定应在其中找到表的数据库。

  • --defaults-extra-file

    命令行格式--defaults-extra-file=path
    类型字符串
    默认值[无]

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

  • --defaults-file

    命令行格式--defaults-file=path
    类型字符串
    默认值[无]

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

  • --defaults-group-suffix

    命令行格式--defaults-group-suffix=string
    类型字符串
    默认值[无]

    还读取具有 concat(group, suffix)的组。

  • --extra-node-info, -n

    包括有关表分区与它们所驻留的数据节点之间映射的信息。此信息对于验证分布感知机制和支持更有效的应用程序访问存储在 NDB 集群中的数据非常有用。

    使用此选项还需要使用--extra-partition-info (-p) 选项。

  • --extra-partition-info, -p

    打印有关表分区的附加信息。

  • --help

    命令行格式--help

    显示帮助文本并退出。

  • --login-path

    命令行格式--login-path=path
    类型字符串
    默认值[none]

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

  • --ndb-connectstring

    命令行格式--ndb-connectstring=connection_string
    类型字符串
    默认值[none]

    设置用于连接到 ndb_mgmd 的连接字符串。语法:“[nodeid=id;][host=]hostname[:port]”。覆盖 NDB_CONNECTSTRING 和 my.cnf 中的条目。

  • --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-defaults

    命令行格式--no-defaults

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

  • --print-defaults

    命令行格式--print-defaults

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

  • --retries=*#*, -r

    在放弃之前尝试连接这么多次。每秒进行一次连接尝试。

  • --table=*tbl_name*, -t

    指定要查找索引的表。

  • --unqualified, -u

    使用未限定的表名。

  • --usage

    命令行格式--usage

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

  • --version

    命令行格式--version

    显示版本信息并退出。

输出中列出的表索引按 ID 排序。

25.5.10 ndb_drop_index — 从 NDB 表中删除索引

原文:dev.mysql.com/doc/refman/8.0/en/mysql-cluster-programs-ndb-drop-index.html

ndb_drop_indexNDB表中删除指定的索引。建议您仅将此实用程序用作编写 NDB API 应用程序的示例—有关详细信息,请参见本节后面的警告。

用法

ndb_drop_index -c *connection_string* *table_name* *index* -d *db_name*

上面显示的语句从*database中的table中删除名为index*的索引。

可与ndb_drop_index一起使用的选项如下表所示。表后面会有附加描述。

表 25.32 与程序 ndb_drop_index 一起使用的命令行选项

格式描述添加、弃用或移除
[--character-sets-dir=path](https://dev.mysql.com/doc/refman/8.0/en/mysql-cluster-programs-ndb-drop-index.html#option_ndb_drop_index_character-sets-dir)包含字符集的目录已移除:8.0.31
[--connect-retries=#](https://dev.mysql.com/doc/refman/8.0/en/mysql-cluster-programs-ndb-drop-index.html#option_ndb_drop_index_connect-retries)放弃之前重试连接的次数(在基于 MySQL 8.0 的所有 NDB 发行版中支持)
[--connect-retry-delay=#](https://dev.mysql.com/doc/refman/8.0/en/mysql-cluster-programs-ndb-drop-index.html#option_ndb_drop_index_connect-retry-delay)尝试联系管理服务器之间等待的秒数(在基于 MySQL 8.0 的所有 NDB 发行版中支持)
[--connect-string=connection_string](https://dev.mysql.com/doc/refman/8.0/en/mysql-cluster-programs-ndb-drop-index.html#option_ndb_drop_index_connect-string),[-c connection_string](https://dev.mysql.com/doc/refman/8.0/en/mysql-cluster-programs-ndb-drop-index.html#option_ndb_drop_index_connect-string)与 --ndb-connectstring 相同(在基于 MySQL 8.0 的所有 NDB 发行版中支持)
[--core-file](https://dev.mysql.com/doc/refman/8.0/en/mysql-cluster-programs-ndb-drop-index.html#option_ndb_drop_index_core-file)在错误时写入核心文件;用于调试已移除:8.0.31
--database=name,-d name表所在数据库的名称(在基于 MySQL 8.0 的所有 NDB 发行版中支持)
[--defaults-extra-file=path](https://dev.mysql.com/doc/refman/8.0/en/mysql-cluster-programs-ndb-drop-index.html#option_ndb_drop_index_defaults-extra-file)在读取全局文件后读取给定文件(在基于 MySQL 8.0 的所有 NDB 发行版中支持)
[--defaults-file=path](https://dev.mysql.com/doc/refman/8.0/en/mysql-cluster-programs-ndb-drop-index.html#option_ndb_drop_index_defaults-file)仅从给定文件中读取默认选项(在基于 MySQL 8.0 的所有 NDB 发行版中支持)
[--defaults-group-suffix=string](https://dev.mysql.com/doc/refman/8.0/en/mysql-cluster-programs-ndb-drop-index.html#option_ndb_drop_index_defaults-group-suffix)还读取连接组与连接后缀的连接(在基于 MySQL 8.0 的所有 NDB 发行版中支持)
--help,-?显示帮助文本并退出(支持基于 MySQL 8.0 的所有 NDB 版本)
--login-path=path从登录文件中读取给定路径(支持基于 MySQL 8.0 的所有 NDB 版本)
--ndb-connectstring=connection_string,-c connection_string设置用于连接到 ndb_mgmd 的连接字符串。语法:“[nodeid=id;][host=]hostname[:port]”。覆盖 NDB_CONNECTSTRING 和 my.cnf 中的条目(支持基于 MySQL 8.0 的所有 NDB 版本)
--ndb-mgmd-host=connection_string,-c connection_string与--ndb-connectstring 相同(支持基于 MySQL 8.0 的所有 NDB 版本)
--ndb-nodeid=#设置此节点的节点 ID,覆盖--ndb-connectstring 设置的任何 ID(支持基于 MySQL 8.0 的所有 NDB 版本)
--ndb-optimized-node-selection启用节点选择优化以进行事务。默认启用;使用--skip-ndb-optimized-node-selection 来禁用移除:8.0.31
--no-defaults不要从除登录文件之外的任何选项文件中读取默认选项(支持基于 MySQL 8.0 的所有 NDB 版本)
--print-defaults打印程序参数列表并退出(支持基于 MySQL 8.0 的所有 NDB 版本)
--usage,-?显示帮助文本并退出;与--help 相同(支持基于 MySQL 8.0 的所有 NDB 版本)
--version,-V显示版本信息并退出(支持基于 MySQL 8.0 的所有 NDB 版本)
格式描述添加、弃用或移除
  • --character-sets-dir

    命令行格式--character-sets-dir=path
    移除8.0.31

    包含字符集的目录。

  • --connect-retries

    命令行格式--connect-retries=#
    类型整数
    默认值12
    最小值0
    最大值12

    重试连���之前放弃的次数。

  • --connect-retry-delay

    命令行格式--connect-retry-delay=#
    类型整数
    默认值5
    最小值0
    最大值5

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

  • --connect-string

    命令行格式--connect-string=connection_string
    类型字符串
    默认值[none]

    --ndb-connectstring相同。

  • --core-file

    命令行格式--core-file
    已移除8.0.31

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

  • --database, -d

    命令行格式--database=name
    类型字符串
    默认值TEST_DB

    表所在的数据库的名称。

  • --defaults-extra-file

    命令行格式--defaults-extra-file=path
    类型字符串
    默认值[none]

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

  • --defaults-file

    命令行格式--defaults-file=path
    类型字符串
    默认值[none]

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

  • --defaults-group-suffix

    命令行格式--defaults-group-suffix=string
    类型字符串
    默认值[none]

    也读取具有连接组的组合(group, suffix)。

  • --help

    命令行格式--help

    显示帮助文本并退出。

  • --login-path

    命令行格式--login-path=path
    类型字符串
    默认值[none]

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

  • --ndb-connectstring

    命令行格式--ndb-connectstring=connection_string
    类型字符串
    默认值[none]

    设置连接到 ndb_mgmd 的连接字符串。语法:“[nodeid=id;][host=]hostname[:port]”。覆盖 NDB_CONNECTSTRING 和 my.cnf 中的条目。

  • --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-defaults

    命令行格式--no-defaults

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

  • --print-defaults

    命令行格式--print-defaults

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

  • --usage

    命令行格式--usage

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

  • --version

    命令行格式--version

    显示版本信息并退出。

警告

使用 NDB API 对集群表索引执行的操作对 MySQL 不可见,并使 MySQL 服务器无法使用该表。如果您使用此程序删除索引,然后尝试从 SQL 节点访问表,将会出现错误,如下所示:

$> ./ndb_drop_index -c localhost dogs ix -d ctest1
Dropping index dogs/idx...OK

$> ./mysql -u jon -p ctest1
Enter password: *******
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 7 to server version: 5.7.44-ndb-7.5.32

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> SHOW TABLES;
+------------------+
| Tables_in_ctest1 |
+------------------+
| a                |
| bt1              |
| bt2              |
| dogs             |
| employees        |
| fish             |
+------------------+
6 rows in set (0.00 sec)

mysql> SELECT * FROM dogs;
ERROR 1296 (HY000): Got error 4243 'Index not found' from NDBCLUSTER

在这种情况下,使表再次对 MySQL 可用的唯一选项是删除表并重新创建它。您可以使用 SQL 语句DROP TABLEndb_drop_table实用程序(请参阅 Section 25.5.11, “ndb_drop_table — Drop an NDB Table”)来删除表。