ndb_select_all 将 NDB
表中的所有行打印到 stdout
。
用法
ndb_select_all -c connection_string tbl_name -d db_name [> file_name]
可以在 ndb_select_all 中使用的选项如下表所示。在表格后有更多描述。
-
命令行格式 --character-sets-dir=path
包含字符集的目录。
-
命令行格式 --connect-retries=#
类型 整数 默认值 12
最小值 0
最大值 12
在放弃之前重试连接的次数。
-
命令行格式 --connect-retry-delay=#
类型 整数 默认值 5
最小值 0
最大值 5
尝试联系管理服务器之间等待的秒数。
-
命令行格式 --connect-string=connection_string
类型 字符串 默认值 [无]
与
--ndb-connectstring
相同。 -
命令行格式 --core-file
在错误时写入核心文件;用于调试。
--database=
,dbname
-d
dbname
找到该表的数据库的名称。默认值为
TEST_DB
。--descending
,-z
按降序排序输出。此选项只能与
-o
(--order
) 选项结合使用。-
命令行格式 --defaults-extra-file=path
类型 字符串 默认值 [无]
在读取全局文件后读取给定文件。
-
命令行格式 --defaults-file=path
类型 字符串 默认值 [无]
仅从给定文件读取默认选项。
-
命令行格式 --defaults-group-suffix=string
类型 字符串 默认值 [无]
还读取具有 concat(group, suffix) 的组。
--delimiter=
,character
-D
character
导致使用
character
作为列分隔符。只有表数据列由此分隔符分隔。默认分隔符是制表符。
向输出添加磁盘引用列。该列仅对具有非索引列的磁盘数据表非空。
向输出添加
GCI
列,显示每行最后更新的全局检查点。有关检查点的更多信息,请参见 第 25.2 节,“NDB Cluster 概述” 和 第 25.6.3.2 节,“NDB Cluster 日志事件”。向输出添加
ROW$GCI64
列,显示每行最后更新的全局检查点,以及发生此更新的纪元的编号。-
命令行格式 --help
显示帮助文本并退出。
--lock=
,lock_type
-l
lock_type
在读取表时使用锁定。
lock_type
的可能值为0
: 读锁定1
: 持有读锁定2
: 独占读锁定
此选项没有默认值。
-
命令行格式 --login-path=path
类型 字符串 默认值 [无]
从登录文件读取给定路径。
-
命令行格式 --no-login-paths
跳过从登录路径文件读取选项。
从输出中排除列标题。
导致省略任何表数据。
-
命令行格式 --ndb-connectstring=connection_string
类型 字符串 默认值 [无]
设置连接到 ndb_mgmd 的连接字符串。语法:
[nodeid=
。覆盖id
;][host=]hostname
[:port
]NDB_CONNECTSTRING
和my.cnf
中的条目。 -
命令行格式 --ndb-mgm-tls=level
类型 枚举 默认值 relaxed
有效值 relaxed
strict
设置连接到管理服务器所需的 TLS 支持级别;
relaxed
或strict
之一。relaxed
(默认值)表示尝试 TLS 连接,但不强制成功;strict
表示需要 TLS 连接。 -
命令行格式 --ndb-mgmd-host=connection_string
类型 字符串 默认值 [无]
与
--ndb-connectstring
相同。 -
命令行格式 --ndb-nodeid=#
类型 整数 默认值 [无]
设置此节点的节点 ID,覆盖由
--ndb-connectstring
设置的任何 ID。 --ndb-optimized-node-selection
命令行格式 --ndb-optimized-node-selection
启用针对事务节点选择的优化。默认情况下启用;使用
--skip-ndb-optimized-node-selection
禁用。-
命令行格式 --ndb-tls-search-path=list
类型 路径名称 默认值(Unix) $HOME/ndb-tls
默认值(Windows) $HOMEDIR/ndb-tls
指定一个目录列表以搜索 CA 文件。在 Unix 平台上,目录名称由冒号 (
:
) 分隔;在 Windows 系统上,分号字符 (;
) 用作分隔符。目录引用可以是相对的或绝对的;它可以包含一个或多个环境变量,每个环境变量都由前缀美元符号 ($
) 表示,并在使用之前进行扩展。搜索从最左侧命名的目录开始,并从左到右进行,直到找到文件。空字符串表示空搜索路径,这会导致所有搜索失败。包含单个句点 (
.
) 的字符串表示仅限于当前工作目录的搜索路径。如果未提供任何搜索路径,则使用编译后的默认值。此值取决于使用的平台:在 Windows 上,这是
\ndb-tls
;在其他平台(包括 Linux)上,它是$HOME/ndb-tls
。这可以通过使用-DWITH_NDB_TLS_SEARCH_PATH
编译 NDB Cluster 来覆盖。 -
命令行格式 --no-defaults
不要从除登录文件之外的任何选项文件读取默认选项。
--order=
,index_name
-o
index_name
根据名为
index_name
的索引对输出进行排序。注意这是索引的名称,而不是列的名称;索引在创建时必须已显式命名。
parallelism=
,#
-p
#
指定并行度。
-
命令行格式 --print-defaults
打印程序参数列表并退出。
添加
ROWID
列,提供有关存储行的片段的信息。--tupscan
,-t
按元组顺序扫描表。
-
命令行格式 --usage
显示帮助文本并退出;与
--help
相同。 导致所有数字值以十六进制格式显示。这不会影响字符串或日期时间值中包含的数字的输出。
-
命令行格式 --version
显示版本信息并退出。
示例输出
MySQL SELECT
语句的输出
mysql> SELECT * FROM ctest1.fish;
+----+-----------+
| id | name |
+----+-----------+
| 3 | shark |
| 6 | puffer |
| 2 | tuna |
| 4 | manta ray |
| 5 | grouper |
| 1 | guppy |
+----+-----------+
6 rows in set (0.04 sec)
等效的 ndb_select_all 调用输出
$> ./ndb_select_all -c localhost fish -d ctest1
id name
3 [shark]
6 [puffer]
2 [tuna]
4 [manta ray]
5 [grouper]
1 [guppy]
6 rows returned
在 ndb_select_all 的输出中,所有字符串值都用方括号 ([
...]
) 括起来。例如,考虑以下创建和填充的表格:
CREATE TABLE dogs (
id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(25) NOT NULL,
breed VARCHAR(50) NOT NULL,
PRIMARY KEY pk (id),
KEY ix (name)
)
TABLESPACE ts STORAGE DISK
ENGINE=NDBCLUSTER;
INSERT INTO dogs VALUES
('', 'Lassie', 'collie'),
('', 'Scooby-Doo', 'Great Dane'),
('', 'Rin-Tin-Tin', 'Alsatian'),
('', 'Rosscoe', 'Mutt');
这演示了几个额外的 ndb_select_all 选项的使用
$> ./ndb_select_all -d ctest1 dogs -o ix -z --gci --disk
GCI id name breed DISK_REF
834461 2 [Scooby-Doo] [Great Dane] [ m_file_no: 0 m_page: 98 m_page_idx: 0 ]
834878 4 [Rosscoe] [Mutt] [ m_file_no: 0 m_page: 98 m_page_idx: 16 ]
834463 3 [Rin-Tin-Tin] [Alsatian] [ m_file_no: 0 m_page: 34 m_page_idx: 0 ]
835657 1 [Lassie] [Collie] [ m_file_no: 0 m_page: 66 m_page_idx: 0 ]
4 rows returned