文件首頁
MySQL 8.4 參考手冊
相關文件 下載本手冊
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
Man Pages (TGZ) - 258.5Kb
Man Pages (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 參考手冊  /  ...  /  客戶端明文可插拔驗證

8.4.1.4 客戶端明文可插拔驗證

有一個客戶端驗證外掛程式可用,可讓客戶端將密碼以明文形式傳送至伺服器,而無需雜湊或加密。此外掛程式內建於 MySQL 客戶端程式庫中。

下表顯示外掛程式名稱。

表 8.18 明文驗證的外掛程式和程式庫名稱

外掛程式或檔案 外掛程式或檔案名稱
伺服器端外掛程式 無,請參閱討論
客戶端外掛程式 mysql_clear_password
程式庫檔案 無 (外掛程式已內建)

許多客戶端驗證外掛程式在客戶端將密碼傳送至伺服器之前,會對密碼執行雜湊或加密。這可讓客戶端避免以明文形式傳送密碼。

對於需要伺服器接收用戶端輸入的密碼的驗證方案,無法進行雜湊或加密。在這種情況下,會使用用戶端 mysql_clear_password 外掛程式,讓用戶端以明文形式將密碼傳送至伺服器。沒有對應的伺服器端外掛程式。而是 mysql_clear_password 可以與任何需要明文密碼的伺服器端外掛程式搭配在用戶端使用。(例如 PAM 和簡單 LDAP 驗證外掛程式;請參閱章節 8.4.1.5,「PAM 可插拔驗證」章節 8.4.1.7,「LDAP 可插拔驗證」。)

以下討論提供特定於明文可插拔驗證的使用資訊。如需有關 MySQL 中可插拔驗證的一般資訊,請參閱章節 8.2.17,「可插拔驗證」

注意

在某些組態中,以明文形式傳送密碼可能會有安全性問題。為了避免在密碼有可能被攔截時發生問題,客戶端應使用保護密碼的方法連線至 MySQL 伺服器。可能性包括 SSL (請參閱章節 8.3,「使用加密連線」)、IPsec 或私有網路。

為了降低不經意使用 mysql_clear_password 外掛程式的可能性,MySQL 客戶端必須明確啟用它。這可以透過幾種方式完成

  • LIBMYSQL_ENABLE_CLEARTEXT_PLUGIN 環境變數設定為以 1Yy 開頭的值。這會針對所有客戶端連線啟用外掛程式。

  • mysqlmysqladminmysqlcheckmysqldumpmysqlshowmysqlslap 等用戶端程式支援 --enable-cleartext-plugin 選項,可針對每次呼叫啟用外掛程式。

  • mysql_options() C API 函式支援 MYSQL_ENABLE_CLEARTEXT_PLUGIN 選項,可針對每個連線啟用外掛程式。此外,任何使用 libmysqlclient 並讀取選項檔案的程式,都可以在用戶端程式庫讀取的選項群組中加入 enable-cleartext-plugin 選項,以啟用此外掛程式。