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-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=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 分別是舊密碼和新密碼;這兩個都必須加上引號。輸入檔案會被解密,然後加密為輸出檔案。輸入檔案本身不會變更;如果您不希望使用舊密碼存取它,您必須手動移除輸入檔案。