文件首頁
MySQL 9.0 參考手冊
相關文件 下載本手冊
PDF (美國信紙) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 258.2Kb
Man Pages (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 參考手冊  /  ...  /  金鑰環外掛程式安裝

8.4.4.3 金鑰環外掛程式安裝

金鑰環服務使用者需要安裝金鑰環元件或外掛程式

注意

一次只能啟用一個金鑰環元件或外掛程式。不支援啟用多個金鑰環元件或外掛程式,且結果可能不如預期。

如果需要支援儲存持續系統變數值的安全儲存,則必須在 MySQL Server 執行個體上啟用金鑰環元件,而不是不支援此功能的金鑰環外掛程式。請參閱持續儲存敏感系統變數

MySQL 提供這些金鑰環外掛程式選擇

  • keyring_okv:與 KMIP 相容的後端金鑰環儲存產品(例如 Oracle Key Vault 和 Gemalto SafeNet KeySecure Appliance)搭配使用的 KMIP 1.1 外掛程式。適用於 MySQL 企業版散佈。

  • keyring_aws:與 Amazon Web Services 金鑰管理服務通訊,作為金鑰產生的後端,並使用本機檔案進行金鑰儲存。適用於 MySQL 企業版散佈。

  • keyring_hashicorp:與 HashiCorp Vault 通訊以進行後端儲存。適用於 MySQL 企業版散佈。

若要讓伺服器能夠使用,外掛程式程式庫檔案必須位於 MySQL 外掛程式目錄中(由 plugin_dir 系統變數命名的目錄)。如有必要,請在伺服器啟動時設定 plugin_dir 的值來設定外掛程式目錄位置。

金鑰環元件或外掛程式必須在伺服器啟動順序的早期載入,以便其他元件在自己的初始化期間可以根據需要存取它。例如,InnoDB 儲存引擎會使用金鑰環進行表格空間加密,因此金鑰環元件或外掛程式必須在 InnoDB 初始化之前載入並可供使用。

每個金鑰環外掛程式的安裝方式都類似。下列指示說明如何安裝 keyring_okv。若要使用不同的金鑰環外掛程式,請以其名稱取代 keyring_okv

keyring_okv 外掛程式程式庫檔案基本名稱為 keyring_okv。檔案名稱字尾會因平台而異(例如,Unix 和類 Unix 系統的 .so,Windows 的 .dll)。

若要載入外掛程式,請使用 --early-plugin-load 選項來命名包含該外掛程式的程式庫檔案。例如,在程式庫檔案字尾為 .so 的平台上,請在伺服器 my.cnf 檔案中使用這些行,並根據需要調整平台的 .so 字尾

[mysqld]
early-plugin-load=keyring_okv.so

在啟動伺服器之前,請檢查您選擇的金鑰環外掛程式的注意事項,以取得該外掛程式專屬的設定指示

在執行任何外掛程式特定的組態後,啟動伺服器。透過檢查 Information Schema PLUGINS 資料表或使用 SHOW PLUGINS 陳述式(請參閱第 7.6.2 節,「取得伺服器外掛程式資訊」)來驗證外掛程式的安裝。例如

mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS
       FROM INFORMATION_SCHEMA.PLUGINS
       WHERE PLUGIN_NAME LIKE 'keyring%';
+--------------+---------------+
| PLUGIN_NAME  | PLUGIN_STATUS |
+--------------+---------------+
| keyring_okv  | ACTIVE        |
+--------------+---------------+

如果外掛程式初始化失敗,請檢查伺服器錯誤日誌以取得診斷訊息。

外掛程式可以使用除了 --early-plugin-load 以外的方法載入,例如 --plugin-load--plugin-load-add 選項,或 INSTALL PLUGIN 陳述式。然而,使用這些方法載入的金鑰環外掛程式,在伺服器啟動序列中可能會太晚才可用於某些使用金鑰環的組件,例如 InnoDB

  • 使用 --plugin-load--plugin-load-add 載入外掛程式發生在 InnoDB 初始化之後。

  • 使用 INSTALL PLUGIN 安裝的外掛程式會註冊在 mysql.plugin 系統資料表中,並在後續伺服器重新啟動時自動載入。然而,由於 mysql.plugin 是一個 InnoDB 資料表,因此在啟動期間,只有在 InnoDB 初始化之後,才能載入其中任何已命名的外掛程式。

如果當組件嘗試存取金鑰環服務時,沒有可用的金鑰環組件或外掛程式,則該組件無法使用該服務。因此,該組件可能無法初始化,或可能以有限的功能初始化。例如,如果 InnoDB 在初始化時發現有加密的表空間,它會嘗試存取金鑰環。如果金鑰環不可用,InnoDB 只能存取未加密的表空間。為了確保 InnoDB 也可以存取加密的表空間,請使用 --early-plugin-load 來載入金鑰環外掛程式。