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-ddbname找到该表的数据库的名称。默认值为
TEST_DB。--descending,-z按降序排序输出。此选项只能与
-o(--order) 选项结合使用。-
命令行格式 --defaults-extra-file=path类型 字符串 默认值 [无]在读取全局文件后读取给定文件。
-
命令行格式 --defaults-file=path类型 字符串 默认值 [无]仅从给定文件读取默认选项。
-
命令行格式 --defaults-group-suffix=string类型 字符串 默认值 [无]还读取具有 concat(group, suffix) 的组。
--delimiter=,character-Dcharacter导致使用
character作为列分隔符。只有表数据列由此分隔符分隔。默认分隔符是制表符。
向输出添加磁盘引用列。该列仅对具有非索引列的磁盘数据表非空。
向输出添加
GCI列,显示每行最后更新的全局检查点。有关检查点的更多信息,请参见 第 25.2 节,“NDB Cluster 概述” 和 第 25.6.3.2 节,“NDB Cluster 日志事件”。向输出添加
ROW$GCI64列,显示每行最后更新的全局检查点,以及发生此更新的纪元的编号。-
命令行格式 --help显示帮助文本并退出。
--lock=,lock_type-llock_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有效值 relaxedstrict设置连接到管理服务器所需的 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-oindex_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