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.excludeFilters)。credentialStore.excludeFilters 的修改值不会持久化,这意味着它仅在 MySQL Shell 重启之前有效。如果 MySQL Shell 在非交互模式下运行(例如,使用了 --no-wizard 选项),则 credentialStore.savePasswords 选项始终为 never

此选项的默认值为 prompt

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

一个字符串列表,用于指定哪些服务器 URL 应从密码的自动存储中排除。每个字符串可以是显式 URL 或 glob 模式。如果即将存储的服务器 URL 与此选项中的任何字符串匹配,则不会存储该 URL。有效的通配符为:*(匹配任意数量的任意字符)和 ?(匹配单个字符)。

此选项的默认值为空列表。