ndbxfrm 实用程序可用于解压缩、解密和输出由 NDB 集群创建的已压缩、加密或同时经过这两种处理的文件的信息。它还可以用于压缩或加密文件。
用法
ndbxfrm --info file[ file ...]
ndbxfrm --compress input_file output_file
ndbxfrm --decrypt-password=password input_file output_file
ndbxfrm [--encrypt-ldf-iter-count=#] --encrypt-password=password input_file output_file
input_file 和 output_file 不能是同一个文件。
选项
--compress,-c命令行格式 --compress使用与压缩 NDB 集群备份相同的方法压缩输入文件,并将输出写入输出文件。要解压缩未加密的压缩
NDB备份文件,只需调用 ndbxfrm 并使用压缩文件名和输出文件名(无需任何选项)。--decrypt-key=,key-Kkey命令行格式 --decrypt-key=key使用提供的密钥解密由
NDB加密的文件。注意此选项不能与
--decrypt-password一起使用。-
命令行格式 --decrypt-key-from-stdin使用从
stdin提供的密钥解密由NDB加密的文件。 -
命令行格式 --decrypt-password=password类型 字符串 默认值 [无]使用提供的密码解密由
NDB加密的文件。注意此选项不能与
--decrypt-key一起使用。 --decrypt-password-from-stdin[=TRUE|FALSE]命令行格式 --decrypt-password-from-stdin使用从标准输入提供的密码解密由
NDB加密的文件。这类似于在调用 mysql--password后输入密码,而该选项后没有密码。-
命令行格式 --defaults-extra-file=路径类型 字符串 默认值 [无]在读取全局文件后读取给定的文件。
-
命令行格式 --defaults-file=路径类型 字符串 默认值 [无]仅从给定的文件读取默认选项。
-
命令行格式 --defaults-group-suffix=字符串类型 字符串 默认值 [无]同时读取带有
CONCAT(的组。group,suffix) -
命令行格式 --encrypt-block-size=#类型 布尔值 默认值 FALSE打印文件信息,如
--info,但包括文件的文件头和文件尾。示例
$> ndbxfrm --detailed-info S0.sysfile File=/var/lib/cluster-data/ndb_7_fs/D1/NDBCNTR/S0.sysfile, compression=no, encryption=yes header: { fixed_header: { magic: { magic: { 78, 68, 66, 88, 70, 82, 77, 49 }, endian: 18364758544493064720, header_size: 32768, fixed_header_size: 160, zeros: { 0, 0 } }, flags: 73728, flag_extended: 0, flag_zeros: 0, flag_file_checksum: 0, flag_data_checksum: 0, flag_compress: 0, flag_compress_method: 0, flag_compress_padding: 0, flag_encrypt: 18, flag_encrypt_cipher: 2, flag_encrypt_krm: 1, flag_encrypt_padding: 0, flag_encrypt_key_selection_mode: 0, dbg_writer_ndb_version: 524320, octets_size: 32, file_block_size: 32768, trailer_max_size: 80, file_checksum: { 0, 0, 0, 0 }, data_checksum: { 0, 0, 0, 0 }, zeros01: { 0 }, compress_dbg_writer_header_version: { ... }, compress_dbg_writer_library_version: { ... }, encrypt_dbg_writer_header_version: { ... }, encrypt_dbg_writer_library_version: { ... }, encrypt_key_definition_iterator_count: 100000, encrypt_krm_keying_material_size: 32, encrypt_krm_keying_material_count: 1, encrypt_key_data_unit_size: 32768, encrypt_krm_keying_material_position_in_octets: 0, }, octets: { 102, 68, 56, 125, 78, 217, 110, 94, 145, 121, 203, 234, 26, 164, 137, 180, 100, 224, 7, 88, 173, 123, 209, 110, 185, 227, 85, 174, 109, 123, 96, 156, } } trailer: { fixed_trailer: { flags: 48, flag_extended: 0, flag_zeros: 0, flag_file_checksum: 0, flag_data_checksum: 3, data_size: 512, file_checksum: { 0, 0, 0, 0 }, data_checksum: { 226, 223, 102, 207 }, magic: { zeros: { 0, 0 } fixed_trailer_size: 56, trailer_size: 32256, endian: 18364758544493064720, magic: { 78, 68, 66, 88, 70, 82, 77, 49 }, }, } } -
命令行格式 --encrypt-block-size=#类型 整数 默认值 0最小值 0最大值 2147483647作为单元加密的输入数据块的大小。与 XTS 一起使用;对于 CBC 模式,设置为
0(默认值)。 -
命令行格式 --encrypt-cipher=#类型 整数 默认值 1最小值 0最大值 2147483647用于加密的密码。对于 CBC 模式(默认值),设置为
1,对于 XTS,设置为2。 --encrypt-kdf-iter-count=,#-k#命令行格式 --encrypt-kdf-iter-count=#类型 整数 默认值 0最小值 0最大值 2147483647加密文件时,指定用于加密密钥的迭代次数。需要
--encrypt-password选项。-
命令行格式 --encrypt-key=key使用提供的密钥加密文件。
注意此选项不能与
--encrypt-password一起使用。 -
命令行格式 --encrypt-key-from-stdin使用从
stdin提供的密钥加密文件。 -
命令行格式 --encrypt-password=password类型 字符串 默认值 [无]使用该选项提供的密码加密备份文件。密码必须满足此处列出的要求
使用任何可打印的 ASCII 字符,但
!、'、"、$、%、\、`和^除外长度不超过 256 个字符
用单引号或双引号括起来
注意此选项不能与
--encrypt-key一起使用。 --encrypt-password-from-stdin[=TRUE|FALSE]命令行格式 --encrypt-password-from-stdin使用从标准输入提供的密码加密文件。这类似于在调用 mysql
--password后输入密码,而该选项后没有密码。--help,-?命令行格式 --help打印程序的使用信息。
--info,-i命令行格式 --info打印有关一个或多个输入文件的以下信息
文件名
文件是否已压缩(
compression=yes或compression=no)文件是否已加密(
encryption=yes或encryption=no)
示例
$> ndbxfrm -i BACKUP-10-0.5.Data BACKUP-10.5.ctl BACKUP-10.5.log File=BACKUP-10-0.5.Data, compression=no, encryption=yes File=BACKUP-10.5.ctl, compression=no, encryption=yes File=BACKUP-10.5.log, compression=no, encryption=yes您还可以使用
--detailed-info选项查看文件的文件头和文件尾。-
命令行格式 --login-path=路径类型 字符串 默认值 [无]从登录文件中读取给定的路径。
-
命令行格式 --no-login-paths跳过从登录路径文件读取选项。
-
命令行格式 --no-defaults除了登录文件外,不要从任何选项文件中读取默认选项。
-
命令行格式 --print-defaults打印程序参数列表并退出。
--usage,-?命令行格式 --usage--help的同义词。--version,-V命令行格式 --version打印版本信息。
ndbxfrm 可以加密由任何版本的 NDB 集群创建的备份。.Data、.ctl 和 .log 文件构成备份,必须分别加密,并且这些文件必须针对每个数据节点分别加密。加密后,此类备份只能由 ndbxfrm、ndb_restore 或 ndb_print_backup 解密。
可以使用 --encrypt-password 和 --decrypt-password 选项一起使用新密码重新加密已加密的文件,如下所示
ndbxfrm --decrypt-password=old --encrypt-password=new input_file output_file在刚显示的示例中,old 和 new 分别是旧密码和新密码;这两个密码都必须用引号括起来。输入文件将被解密,然后作为输出文件加密。输入文件本身不会更改;如果您不希望使用旧密码访问它,则必须手动删除该输入文件。