MySQL Shell 9.0  /  ...  /  可插拔密碼配置選項

4.4.1 可插拔密碼配置選項

若要設定可插拔密碼儲存,請使用 shell.options 介面,請參閱第 13.4 節,〈設定 MySQL Shell 選項〉。下列選項設定可插拔密碼儲存。

shell.options.credentialStore.helper = "login-path"

一個字串,指定用於儲存和擷取密碼的秘密儲存協助程式。預設情況下,此選項設定為特殊值 default,它會識別目前平台上的預設協助程式。可以設定為 shell.listCredentialHelpers() 方法傳回的任何值。如果此值設定為無效值或未知的協助程式,則會引發例外狀況。如果在 mysqlsh 啟動期間偵測到無效值,則會顯示錯誤,並且會停用密碼的儲存和擷取。若要停用密碼的自動儲存和擷取,請將此選項設定為特殊值 <disabled>,例如發出

shell.options.set("credentialStore.helper", "<disabled>")

停用此選項時,此處討論的所有憑證儲存 MySQL Shell 方法的使用都會導致例外狀況。

shell.options.credentialStore.savePasswords = "value"

一個字串,控制密碼的自動儲存。有效值如下:

  • always - 一律儲存密碼,除非密碼已在秘密儲存中可用,或是伺服器 URL 符合 credentialStore.excludeFilters 值。

  • never - 不會儲存密碼。

  • prompt - 在互動模式中,如果伺服器 URL 不符合 shell.credentialStore.excludeFilters 的值,則會提示您是否應儲存密碼。可能的回應是 yes 以儲存此密碼、no 以不儲存此密碼、never 以不儲存此密碼,並將 URL 新增至 credentialStore.excludeFilterscredentialStore.excludeFilters 的修改值不會持續保存,這表示它只在重新啟動 MySQL Shell 之前有效。如果 MySQL Shell 在非互動模式下執行 (例如,使用了 --no-wizard 選項),則 credentialStore.savePasswords 選項一律為 never

此選項的預設值為 prompt

shell.options.credentialStore.excludeFilters = ["*@myserver.com:*"];

一個字串清單,指定應將哪些伺服器 URL 從密碼的自動儲存中排除。每個字串可以是明確的 URL 或 glob 模式。如果即將儲存的伺服器 URL 符合此選項中的任何字串,則不會儲存它。有效的萬用字元為:*,它符合任意數量的任意字元,以及 ?,它符合單一字元。

此選項的預設值為空清單。