ndb_select_all —从NDB表中打印行
ndb_select_all将NDB表中的所有行打印到stdout。
用法
ndb_select_all -c connection_string tbl_name -d db_name [> file_name]
下表包含特定于NDB Cluster本机备份还原程序ndb_select_all的选项。附加说明如下表。有关大多数NDB群集程序(包括ndb_select_all)通用的选项,请参见“ NDB群集程序的通用选项— NDB群集程序的通用选项”。
ndb_select_all程序的命令行选项
| 格式 | 描述 | 添加,不建议使用或删除 | 
|---|---|---|
| 
 
 | 在其中找到表的数据库的名称 | (在所有基于MySQL 8.0的版本中受支持) | 
| 
 
 | 并行度 | (在所有基于MySQL 8.0的版本中受支持) | 
| 
 
 | 锁类型 | (在所有基于MySQL 8.0的版本中受支持) | 
| 
 
 | 根据提供名称的索引对结果集进行排序 | (在所有基于MySQL 8.0的版本中受支持) | 
| 
 
 | 对结果集按降序排序(需要顺序标记) | (在所有基于MySQL 8.0的版本中受支持) | 
| 
 
 | 打印标题(设置为0 | FALSE以禁用输出中的标题) | (在所有基于MySQL 8.0的版本中受支持) | 
| 
 
 | 以十六进制格式输出数字 | (在所有基于MySQL 8.0的版本中受支持) | 
| 
 
 | 设置列定界符 | (在所有基于MySQL 8.0的版本中受支持) | 
| 
 | 打印磁盘引用(仅适用于具有未索引列的磁盘数据表) | (在所有基于MySQL 8.0的版本中受支持) | 
| 
 | 打印行号 | (在所有基于MySQL 8.0的版本中受支持) | 
| 
 | 在输出中包含GCI | (在所有基于MySQL 8.0的版本中受支持) | 
| 
 | 在输出中包含GCI和行纪元 | (在所有基于MySQL 8.0的版本中受支持) | 
| 
 
 | 按顺序扫描 | (在所有基于MySQL 8.0的版本中受支持) | 
| 
 | 不打印表格列数据 | (在所有基于MySQL 8.0的版本中受支持) | 
- --database=dbname,- -d- dbname- 在其中找到表的数据库的名称。默认值为 - TEST_DB。
- parallelism=#,- -p- #- 指定并行度。 
- --lock=lock_type,- -l lock_type- 读取表时使用锁。可能的值为 - lock_type:- 0:读锁
- 1:按住锁定读
- 2:独占读锁
 - 此选项没有默认值。 
- --order=index_name,- -o index_name- 根据名为的索引对输出进行排序 - index_name。- 注意 - 这是索引的名称,而不是列的名称;索引在创建时必须已明确命名。 
- --descending,- -z- 按降序对输出进行排序。此选项只能与 - -o(- --order)选项一起使用。
- --header=FALSE- 从输出中排除列标题。 
- --useHexFormat- -x- 使所有数值以十六进制格式显示。这不会影响字符串或日期时间值中包含的数字的输出。 
- --delimiter=character,- -D character- 使 - character要用作一列分隔符。此分隔符仅分隔表数据列。- 默认的分隔符是制表符。 
- --disk- 将磁盘参考列添加到输出中。该列仅对具有未索引列的“磁盘数据”表为非空。 
- --rowid- 添加一 - ROWID列,该列提供有关存储行的片段的信息。
- --gci- GCI在输出中添加一列,以显示每行最后更新的全局检查点。有关检查点的更多信息,请参见“ NDB群集概述”和“ NDB群集日志事件”。
- --gci64- ROW$GCI64在输出中添加一列,该列显示最后更新每行的全局检查点以及此更新发生的时期数。
- --tupscan,- -t- 按元组的顺序扫描表。 
- --nodata- 导致省略任何表数据。 
样本输出
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的输出:
shell>./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 NDBT_ProgramExit: 0 - OK
在ndb_select_all的输出中,所有字符串值都用方括号([...])括起来。对于另一个示例,请考虑如下所示创建和填充的表:
CREATE TABLE dogs ( id INT(11) NOT NULLAUTO_INCREMENT ,name VARCHAR(25) NOT NULL, breed VARCHAR(50) NOT NULL,PRIMARY KEY pk (id),KEY ix (name ) )TABLESPACE tsSTORAGE DISK ENGINE =NDBCLUSTER ;INSERT INTO dogsVALUES ('', 'Lassie', 'collie'), ('', 'Scooby-Doo', 'Great Dane'), ('', 'Rin-Tin-Tin', 'Alsatian'), ('', 'Rosscoe', 'Mutt');
这演示了几个其他ndb_select_all选项的用法:
shell>./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 NDBT_ProgramExit: 0 - OK
