ndbxfrm 公用程式可用於解壓縮、解密和輸出有關 NDB Cluster 建立的檔案的資訊,這些檔案已壓縮、加密或兩者皆有。它也可用於壓縮或加密檔案。
用法
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 Cluster 備份相同的壓縮方法壓縮輸入檔案,並將輸出寫入輸出檔案。要解壓縮未加密的壓縮
NDB
備份檔案,僅需要使用壓縮檔案的名稱和輸出檔案的名稱來調用 ndbxfrm(不需要任何選項)。--decrypt-key=
,key
-K
key
命令列格式 --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=path
類型 字串 預設值 [無]
讀取全域檔案後讀取給定檔案。
-
命令列格式 --defaults-file=path
類型 字串 預設值 [無]
僅從給定檔案讀取預設選項。
-
命令列格式 --defaults-group-suffix=string
類型 字串 預設值 [無]
也讀取帶有
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=path
類型 字串 預設值 [無]
從登入檔案讀取給定路徑。
-
命令列格式 --no-login-paths
跳過從登入路徑檔案讀取選項。
-
命令列格式 --no-defaults
不要從登入檔案之外的任何選項檔案讀取預設選項。
-
命令列格式 --print-defaults
列印程式引數清單並結束。
--usage
,-?
命令列格式 --usage
--help
的同義詞。--version
,-V
命令列格式 --version
列印版本資訊。
ndbxfrm 可以加密任何版本的 NDB Cluster 建立的備份。.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
分別是舊密碼和新密碼;這兩者都必須加上引號。輸入檔案會被解密,然後加密為輸出檔案。輸入檔案本身不會更改;如果您不希望使用舊密碼存取它,您必須手動移除輸入檔案。