MySQL 8.0 参考手册  / 第 20 章使用 MySQL 作为文档存储  / 20.5 X 插件  /  20.5.4 将 X 插件与缓存 SHA-2 身份验证插件一起使用

20.5.4 将 X 插件与缓存 SHA-2 身份验证插件一起使用

X Plugin 支持使用 caching_sha2_password身份验证插件创建的 MySQL 用户帐户。有关此插件的更多信息,请参阅 第 6.4.1.2 节,“缓存 SHA-2 可插入身份验证”。您可以使用 X Plugin 对此类帐户进行身份验证,使用带身份验证的非 SSL 连接和带SHA256_MEMORY身份验证的 SSL 连接PLAIN

虽然caching_sha2_password 认证插件持有一个认证缓存,但是这个缓存不与X Plugin共享,所以X Plugin使用自己的认证缓存进行SHA256_MEMORY 认证。X 插件身份验证缓存存储用户帐户密码的哈希值,无法使用 SQL 访问。如果用户帐户被修改或删除,相关条目将从缓存中删除。X Plugin认证缓存由mysqlx_cache_cleaner插件维护,默认开启,没有相关的系统变量和状态变量。

在您可以使用非 SSL X 协议连接对使用caching_sha2_password 身份验证插件的帐户进行身份验证之前,该帐户必须至少通过使用 SSL 的 X 协议连接进行身份验证一次,以向 X 插件身份验证缓存提供密码。一旦通过 SSL 的初始身份验证成功,就可以使用非 SSL X 协议连接。

可以通过使用选项启动 MySQL 服务器来禁用 mysqlx_cache_cleaner插件 --mysqlx_cache_cleaner=0。如果这样做,X 插件身份验证缓存将被禁用,因此在使用身份验证进行SHA256_MEMORY身份验证时,必须始终将 SSL 用于 X 协议连接。