修改高级属性。
“Public Key Retrieval is not allowed” 错误是由于 MySQL 连接驱动程序的默认行为更改所引起的。在 MySQL 8.0 版本及更新版本中,默认情况下禁用了通过公钥检索用户密码的功能。
在旧版本的 MySQL 中,客户端连接到服务器时,可以使用公钥来检索用户密码。这种机制称为 “public key retrieval”,它允许客户端使用公钥来解密在服务器端加密的密码。
然而,为了提高安全性,MySQL 开发团队在较新的版本中禁用了这个功能。禁用公钥检索可以防止恶意用户通过获取公钥来获取用户密码。相反,客户端必须使用其他安全的方法来进行身份验证,例如使用预共享密钥或使用 SSL/TLS 连接。
通过禁用公钥检索,默认情况下,MySQL 连接驱动程序会使用不同的身份验证插件(如 caching_sha2_password)来执行身份验证过程。
因此,当你尝试连接到 MySQL 8.0 或更新版本的服务器时,并且连接字符串中没有明确指定允许公钥检索时,你可能会遇到 “Public Key Retrieval is not allowed” 错误。这是 MySQL 连接驱动程序向你指示的一种安全机制。
为了确保安全性并避免潜在的风险,MySQL 默认禁用了公钥检索功能,并推荐使用其他更安全的身份验证方法。