mysql_migrate_keyring 公用程式會在一個金鑰環組件與另一個金鑰環組件之間遷移金鑰。它支援離線和線上遷移。
像這樣叫用 mysql_migrate_keyring(在單一行上輸入命令)
mysql_migrate_keyring
--component-dir=dir_name
--source-keyring=name
--destination-keyring=name
[other options]如需金鑰遷移的資訊,以及說明如何使用 mysql_migrate_keyring 和其他方法執行金鑰遷移的指示,請參閱 章節 8.4.4.11,「在金鑰環金鑰儲存區之間遷移金鑰」。
mysql_migrate_keyring 支援下列選項,這些選項可以在命令列或選項檔案的 [mysql_migrate_keyring] 群組中指定。如需 MySQL 程式使用的選項檔案的相關資訊,請參閱 章節 6.2.2.2,「使用選項檔案」。
表格 6.19 mysql_migrate_keyring 選項
| 選項名稱 | 描述 |
|---|---|
| --component-dir | 金鑰環組件的目錄 |
| --defaults-extra-file | 除了通常的選項檔案外,也讀取指定的選項檔案 |
| --defaults-file | 僅讀取指定的選項檔案 |
| --defaults-group-suffix | 選項群組字尾值 |
| --destination-keyring | 目的地金鑰環組件名稱 |
| --destination-keyring-configuration-dir | 目的地金鑰環組件組態目錄 |
| --get-server-public-key | 從伺服器請求 RSA 公開金鑰 |
| --help | 顯示說明訊息並結束 |
| --host | MySQL 伺服器所在的主機 |
| --login-path | 從 .mylogin.cnf 讀取登入路徑選項 |
| --no-defaults | 不讀取任何選項檔案 |
| --no-login-paths | 不從登入路徑檔案讀取登入路徑 |
| --online-migration | 遷移來源是作用中的伺服器 |
| --password | 連線至伺服器時使用的密碼 |
| --port | 連線的 TCP/IP 連接埠號碼 |
| --print-defaults | 列印預設選項 |
| --server-public-key-path | 包含 RSA 公開金鑰的檔案路徑名稱 |
| --socket | 要使用的 Unix socket 檔案或 Windows 具名管道 |
| --source-keyring | 來源金鑰環組件名稱 |
| --source-keyring-configuration-dir | 來源金鑰環組件組態目錄 |
| --ssl-ca | 包含受信任的 SSL 憑證授權單位清單的檔案 |
| --ssl-capath | 包含受信任的 SSL 憑證授權單位憑證檔案的目錄 |
| --ssl-cert | 包含 X.509 憑證的檔案 |
| --ssl-cipher | 連線加密允許的密碼 |
| --ssl-crl | 包含憑證撤銷清單的檔案 |
| --ssl-crlpath | 包含憑證撤銷清單檔案的目錄 |
| --ssl-fips-mode | 是否在用戶端啟用 FIPS 模式 |
| --ssl-key | 包含 X.509 金鑰的檔案 |
| --ssl-mode | 連線至伺服器所需的安全性狀態 |
| --ssl-session-data | 包含 SSL 工作階段資料的檔案 |
| --ssl-session-data-continue-on-failed-reuse | 當工作階段重複使用失敗時是否建立連線 |
| --tls-ciphersuites | 加密連線允許的 TLSv1.3 密碼套件 |
| --tls-sni-servername | 用戶端提供的伺服器名稱 |
| --tls-version | 加密連線允許的 TLS 協定 |
| --user | 連線至伺服器時使用的 MySQL 使用者名稱 |
| --verbose | 詳細模式 |
| --version | 顯示版本資訊並結束 |
--help,-h命令列格式 --help顯示說明訊息並結束。
-
命令列格式 --component-dir=dir_name類型 目錄名稱 金鑰環組件所在的目錄。這通常是本機 MySQL 伺服器的
plugin_dir系統變數的值。注意--component-dir、--source-keyring和--destination-keyring對於 mysql_migrate_keyring 執行的所有金鑰環遷移作業都是強制性的。此外,來源和目的地組件必須不同,而且這兩個組件都必須正確設定,以便 mysql_migrate_keyring 可以載入並使用它們。 --defaults-extra-file=file_name命令列格式 --defaults-extra-file=file_name類型 檔案名稱 在全域選項檔案之後(但在 Unix 上)在使用者選項檔案之前讀取此選項檔案。如果該檔案不存在或無法存取,則會發生錯誤。如果
file_name不是絕對路徑名稱,則會相對於目前目錄來解譯。如需有關此選項和其他選項檔案選項的詳細資訊,請參閱 章節 6.2.2.3,「影響選項檔案處理的命令列選項」。
-
命令列格式 --defaults-file=file_name類型 檔案名稱 僅使用指定的選項檔案。如果該檔案不存在或無法存取,則會發生錯誤。如果
file_name不是絕對路徑名稱,則會相對於目前目錄來解譯。例外:即使使用
--defaults-file,用戶端程式仍會讀取.mylogin.cnf。如需有關此選項和其他選項檔案選項的詳細資訊,請參閱 章節 6.2.2.3,「影響選項檔案處理的命令列選項」。
-
命令列格式 --defaults-group-suffix=str類型 字串 不僅讀取通常的選項群組,還讀取具有通常名稱和
str後綴的群組。例如,mysql_migrate_keyring 通常會讀取[mysql_migrate_keyring]群組。如果將此選項指定為--defaults-group-suffix=_other,則 mysql_migrate_keyring 也會讀取[mysql_migrate_keyring_other]群組。如需有關此選項和其他選項檔案選項的詳細資訊,請參閱 章節 6.2.2.3,「影響選項檔案處理的命令列選項」。
-
命令列格式 --destination-keyring=name類型 字串 用於金鑰移轉的目的地金鑰環元件。選項值的格式和解讀方式與
--source-keyring選項的說明相同。注意--component-dir、--source-keyring和--destination-keyring對於 mysql_migrate_keyring 執行的所有金鑰環遷移作業都是強制性的。此外,來源和目的地組件必須不同,而且這兩個組件都必須正確設定,以便 mysql_migrate_keyring 可以載入並使用它們。 --destination-keyring-configuration-dir=dir_name命令列格式 --destination-keyring-configuration-dir=dir_name類型 目錄名稱 僅當目的地金鑰環元件的全域組態檔包含
"read_local_config": true時,此選項才適用,表示元件組態包含在本機組態檔中。選項值指定包含該本機檔案的目錄。-
命令列格式 --get-server-public-key類型 布林值 向伺服器請求 RSA 金鑰對密碼交換所需的公開金鑰。此選項適用於使用
caching_sha2_password驗證外掛程式進行驗證的用戶端。對於該外掛程式,除非請求,否則伺服器不會傳送公開金鑰。對於不使用該外掛程式進行驗證的帳戶,此選項會被忽略。如果未使用基於 RSA 的密碼交換,也會被忽略,就像用戶端使用安全連線連接到伺服器的情況一樣。如果給定
--server-public-key-path=並指定有效的公開金鑰檔案,則它會優先於file_name--get-server-public-key。如需有關
caching_sha2_password外掛程式的資訊,請參閱第 8.4.1.2 節「快取 SHA-2 可插拔驗證」。 --host=,host_name-hhost_name命令列格式 --host=host_name類型 字串 預設值 localhost目前正在使用其中一個金鑰移轉金鑰庫的執行中伺服器的位置主機。移轉始終在本機主機上發生,因此該選項始終指定連接到本機伺服器的值,例如
localhost、127.0.0.1、::1或本機主機 IP 位址或主機名稱。-
命令列格式 --login-path=name類型 字串 從
.mylogin.cnf登入路徑檔案中指定的登入路徑讀取選項。「登入路徑」是一個選項群組,其中包含指定要連接哪個 MySQL 伺服器以及要驗證哪個帳戶的選項。若要建立或修改登入路徑檔案,請使用 mysql_config_editor 公用程式。請參閱第 6.6.7 節「mysql_config_editor — MySQL 組態公用程式」。如需有關此選項和其他選項檔案選項的詳細資訊,請參閱 章節 6.2.2.3,「影響選項檔案處理的命令列選項」。
-
命令列格式 --no-login-paths略過從登入路徑檔案讀取選項。
有關相關資訊,請參閱
--login-path。如需有關此選項和其他選項檔案選項的詳細資訊,請參閱 章節 6.2.2.3,「影響選項檔案處理的命令列選項」。
-
命令列格式 --no-defaults不讀取任何選項檔案。如果程式啟動因從選項檔案讀取未知選項而失敗,則可以使用
--no-defaults來防止讀取它們。例外情況是,如果存在
.mylogin.cnf檔案,則會在所有情況下讀取它。即使使用--no-defaults,這樣也可以比在命令列上更安全的方式指定密碼。若要建立.mylogin.cnf,請使用 mysql_config_editor 公用程式。請參閱第 6.6.7 節「mysql_config_editor — MySQL 組態公用程式」。如需有關此選項和其他選項檔案選項的詳細資訊,請參閱 章節 6.2.2.3,「影響選項檔案處理的命令列選項」。
-
命令列格式 --online-migration類型 布林值 預設值 FALSE當執行中的伺服器正在使用金鑰環時,此選項是必要的。它會告知 mysql_migrate_keyring 執行線上金鑰移轉。該選項具有以下效果
mysql_migrate_keyring 使用指定的任何連線選項連接到伺服器;否則這些選項會被忽略。
在 mysql_migrate_keyring 連接到伺服器後,它會告知伺服器暫停金鑰環操作。金鑰複製完成後,mysql_migrate_keyring 會告知伺服器它可以恢復金鑰環操作,然後斷開連線。
--password[=,password]-p[password]命令列格式 --password[=password]類型 字串 用於連接到目前正在使用其中一個金鑰移轉金鑰庫的執行中伺服器的 MySQL 帳戶密碼。密碼值是可選的。如果未給定密碼,mysql_migrate_keyring 會提示輸入一個。如果給定密碼,則在
--password=或-p與其後的密碼之間不得有空格。如果未指定任何密碼選項,則預設為不傳送密碼。在命令列上指定密碼應被視為不安全。若要避免在命令列上給定密碼,請使用選項檔案。請參閱第 8.1.2.1 節「最終使用者密碼安全性指南」。
若要明確指定沒有密碼,並且 mysql_migrate_keyring 不應提示輸入密碼,請使用
--skip-password選項。--port=,port_num-Pport_num命令列格式 --port=port_num類型 數值 預設值 0對於 TCP/IP 連線,用於連接到目前正在使用其中一個金鑰移轉金鑰庫的執行中伺服器的連接埠號碼。
-
命令列格式 --print-defaults列印程式名稱以及從選項檔案取得的所有選項。
如需有關此選項和其他選項檔案選項的詳細資訊,請參閱 章節 6.2.2.3,「影響選項檔案處理的命令列選項」。
--server-public-key-path=file_name命令列格式 --server-public-key-path=file_name類型 檔案名稱 PEM 格式檔案的路徑名稱,其中包含伺服器所需的公開金鑰的用戶端副本,用於基於 RSA 金鑰對的密碼交換。此選項適用於使用
sha256_password(已淘汰)或caching_sha2_password驗證外掛程式進行驗證的用戶端。對於不使用其中一個外掛程式進行驗證的帳戶,此選項會被忽略。如果未使用基於 RSA 的密碼交換,也會被忽略,就像用戶端使用安全連線連接到伺服器的情況一樣。如果給定
--server-public-key-path=並指定有效的公開金鑰檔案,則它會優先於file_name--get-server-public-key。對於
sha256_password(已淘汰),僅當使用 OpenSSL 建置 MySQL 時,此選項才適用。如需有關
sha256_password和caching_sha2_password外掛程式的資訊,請參閱第 8.4.1.3 節「SHA-256 可插拔驗證」和第 8.4.1.2 節「快取 SHA-2 可插拔驗證」。--socket=,path-Spath命令列格式 --socket={file_name|pipe_name}類型 字串 對於 Unix Socket 檔案或 Windows 具名管道連線,用於連接到目前正在使用其中一個金鑰移轉金鑰庫的執行中伺服器的 Socket 檔案或具名管道。
在 Windows 上,僅當伺服器啟動時啟用
named_pipe系統變數以支援具名管道連線時,此選項才適用。此外,進行連線的使用者必須是named_pipe_full_access_group系統變數指定的 Windows 群組的成員。-
命令列格式 --source-keyring=name類型 字串 用於金鑰移轉的來源金鑰環元件。這是指定的元件程式庫檔案名稱,不含任何平台特定的副檔名,例如
.so或.dll。例如,若要使用程式庫檔案為component_keyring_file.so的元件,請將選項指定為--source-keyring=component_keyring_file。注意--component-dir、--source-keyring和--destination-keyring對於 mysql_migrate_keyring 執行的所有金鑰環遷移作業都是強制性的。此外,來源和目的地組件必須不同,而且這兩個組件都必須正確設定,以便 mysql_migrate_keyring 可以載入並使用它們。 --source-keyring-configuration-dir=dir_name命令列格式 --source-keyring-configuration-dir=dir_name類型 目錄名稱 此選項僅在來源金鑰環組件全域組態檔包含
"read_local_config": true時適用,表示組件組態包含在本機組態檔中。此選項的值指定包含該本機檔案的目錄。以
--ssl開頭的選項指定是否使用加密連線到伺服器,並指示在哪裡可以找到 SSL 金鑰和憑證。請參閱加密連線的命令選項。--ssl-fips-mode={OFF|ON|STRICT}命令列格式 --ssl-fips-mode={OFF|ON|STRICT}已棄用 是 類型 枚舉 預設值 OFF有效值 OFFONSTRICT控制是否在用戶端啟用 FIPS 模式。
--ssl-fips-mode選項與其他--ssl-選項不同,它不是用於建立加密連線,而是影響允許哪些加密操作。請參閱第 8.8 節「FIPS 支援」。xxx允許使用這些
--ssl-fips-mode值OFF:停用 FIPS 模式。ON:啟用 FIPS 模式。STRICT:啟用「「嚴格」」FIPS 模式。
注意如果 OpenSSL FIPS 物件模組不可用,則
--ssl-fips-mode唯一允許的值是OFF。在這種情況下,將--ssl-fips-mode設定為ON或STRICT會導致用戶端在啟動時產生警告,並以非 FIPS 模式運行。此選項已棄用。預計會在未來版本的 MySQL 中移除。
--tls-ciphersuites=ciphersuite_list命令列格式 --tls-ciphersuites=ciphersuite_list類型 字串 使用 TLSv1.3 的加密連線允許使用的加密套件。此值是一個或多個以冒號分隔的加密套件名稱的列表。可以為此選項命名的加密套件取決於用於編譯 MySQL 的 SSL 庫。如需詳細資訊,請參閱第 8.3.2 節「加密連線 TLS 通訊協定和加密」。
--tls-sni-servername=server_name命令列格式 --tls-sni-servername=server_name類型 字串 指定時,會使用
mysql_options()的MYSQL_OPT_TLS_SNI_SERVERNAME選項將名稱傳遞給libmysqlclientC API 庫。伺服器名稱不區分大小寫。若要顯示用戶端為目前的工作階段指定的伺服器名稱(如果有的話),請檢查Tls_sni_server_name狀態變數。伺服器名稱指示 (SNI) 是 TLS 通訊協定的擴充功能(OpenSSL 必須使用 TLS 擴充功能進行編譯才能使此選項起作用)。SNI 的 MySQL 實作僅代表用戶端。
-
命令列格式 --tls-version=protocol_list類型 字串 預設值 TLSv1,TLSv1.1,TLSv1.2,TLSv1.3(OpenSSL 1.1.1 或更高版本)TLSv1,TLSv1.1,TLSv1.2(否則)加密連線允許使用的 TLS 通訊協定。此值是一個或多個以逗號分隔的通訊協定名稱的列表。可以為此選項命名的通訊協定取決於用於編譯 MySQL 的 SSL 庫。如需詳細資訊,請參閱第 8.3.2 節「加密連線 TLS 通訊協定和加密」。
--user=,user_name-uuser_name命令列格式 --user=user_name類型 字串 用於連線到目前使用其中一個金鑰移轉金鑰儲存區的執行中伺服器的 MySQL 帳戶的使用者名稱。
--verbose,-v命令列格式 --verbose詳細模式。產生更多關於程式執行內容的輸出。
--version,-V命令列格式 --version顯示版本資訊並結束。