MySQL8 中文参考(九十)
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_CONNECTSTRING和my.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 列部分,以及生成列出任何孤立部分的文件。在诊断和修复包含 BLOB 或 TEXT 列的损坏或受损 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 时,您还必须指定表的名称。此外,您还可以选择在表名后面(逗号分隔)跟随该表的一个或多个 BLOB 或 TEXT 列的名称。如果未列出列,则该工具将处理表的所有 BLOB 和 TEXT 列。如果需要指定数据库,请使用 --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表中,只有BLOB或TEXT列值的前 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.ini或my.cnf文件。默认情况下,管理节点是配置数据的来源;要覆盖默认设置,请使用--config-file或--mycnf选项执行 ndb_config。还可以通过指定其节点 ID 与--config_from_node=*node_id*来使用数据节点作为来源。
ndb_config还可以提供所有配置参数的离线转储,包括它们的默认值、最大值、最小值和其他信息。��储可以以文本或 XML 格式生成;有关更多信息,请参阅本节后面关于--configinfo和--xml选项的讨论。
你可以通过选项--nodes,--system,或--connections来按部分(DB,SYSTEM或CONNECTIONS)过滤结果。
所有可与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*,-fdelimiter命令行格式 --fields=string类型 字符串 默认值 指定用于分隔结果中字段的*
delimiter*字符串。默认值为,(逗号字符)。注意
如果*
delimiter*包含空格或转义字符(例如换行符\n),则必须用引号括起来。 -
--host=*hostname*命令行格式 --host=name类型 字符串 默认值 指定要获取配置信息的节点的主机名。
注意
虽然主机名
localhost通常解析为 IP 地址127.0.0.1,但这并不一定适用于所有操作平台和配置。这意味着当localhost在config.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*,-qquery-options命令行格式 --query=string类型 字符串 默认值 这是一个查询选项的逗号分隔列表,即要返回的一个或多个节点属性的列表。这些包括
nodeid(节点 ID)、type(节点类型,即ndbd、mysqld或ndb_mgmd)以及要获取其值的任何配置参数。例如,
--query=nodeid,type,datamemory,datadir返回每个节点的节点 ID、节点类型、DataMemory和DataDir。注意
如果给定参数不适用于某种类型的节点,则对应值将返回为空字符串。有关更多信息,请参见本节后面的示例。
-
--query-all,-a命令行格式 --query-all类型 字符串 默认值 返回所有查询选项(节点属性)的逗号分隔列表(请注意,此列表是一个字符串)。
-
--rows=*separator*,-rseparator命令行格式 --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*(ndbd、mysqld或ndb_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"属性来显示。此外,还显示了重新启动类型(system或node);如果某个参数需要系统重新启动,则在相应的<param>元素中存在restart="system"属性。例如,更改Diskless参数设置的值需要进行系统初始重新启动,如下所示(高亮显示restart和initial属性以便查看):<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"/>与
initial或deprecated属性仅对需要初始重新启动或已弃用的参数显示类似,mandatory属性仅在给定参数实际上是必需的时包含。重要
--xml选项只能与--configinfo选项一起使用。在没有--configinfo的情况下使用--xml会导致错误。与此程序一起使用的选项用于获取当前配置数据,
--configinfo和--xml使用编译 ndb_config 时从 NDB Cluster 源获取的信息。因此,这两个选项不需要连接到运行中的 NDB Cluster 或访问config.ini或my.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没有任何意义。
示例
-
获得集群中每个节点的节点 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选项将每个节点的值放在输出中的新行上。 -
生成一个连接字符串,可供数据、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 -
这个调用ndb_config仅检查数据节点(使用
--type选项),并显示每个节点的 ID 和主机名的值,以及为其设置的DataMemory和DataDir参数的值:$> ./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来传递要获取的参数列表。 -
要排除除特定主机之外的任何主机的结果,请使用
--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 TABLE和ALTER TABLE语句中的NDB_TABLE注释设置的三个表属性也可在ndb_desc输出中看到。表的FRAGMENT_COUNT_TYPE始终显示在FragmentCountType列中。如果将READ_ONLY和FULLY_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_space和Free 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 id和Tablespace将被显示。
对于完全复制的表,ndb_desc仅显示持有主分区片段副本的节点;仅具有副本分区副本的节点将被忽略。您可以使用mysql客户端从table_distribution_status、table_fragments、table_info和table_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包括有关从属
BLOB和TEXT列的信息。使用此选项还需要使用
--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_index 从NDB表中删除指定的索引。建议您仅将此实用程序用作编写 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 TABLE或ndb_drop_table实用程序(请参阅 Section 25.5.11, “ndb_drop_table — Drop an NDB Table”)来删除表。