欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > mysql 已经初始化好,但是用 dbeaver 连接报错:Public Key Retrieval is not allowed

mysql 已经初始化好,但是用 dbeaver 连接报错:Public Key Retrieval is not allowed

2025/7/1 20:33:15 来源:https://blog.csdn.net/weixin_41196185/article/details/147834507  浏览:    关键词:mysql 已经初始化好,但是用 dbeaver 连接报错:Public Key Retrieval is not allowed

MySQL 已经初始化好,但用 DBeaver 连接时报错 “Public Key Retrieval is not allowed”,这是 MySQL 8 默认认证插件 caching_sha2_password 导致的安全限制问题。解决方法如下:

解决方案

1. 在 DBeaver 中开启 allowPublicKeyRetrieval=true

  • 打开 DBeaver,编辑你的 MySQL 连接(右键连接 → Edit Connection)。
  • 切换到 Driver Properties 标签页。
  • 新增或修改属性 allowPublicKeyRetrieval,设置值为 true
  • 同时确保 useSSL 根据你的环境设置(开发环境可设为 false,生产环境建议启用 SSL)。
  • 保存后重新连接。

这样允许客户端自动从服务器请求公钥,解决连接时的限制问题。


2. JDBC 连接字符串添加参数

如果你用连接字符串配置连接,可以在 URL 后添加:

jdbc:mysql://host:3306/dbname?allowPublicKeyRetrieval=true&useSSL=false

这同样允许公钥检索,避免错误。


3. MySQL 服务器端配置(可选)

如果你有权限修改 MySQL 配置,可以在 my.cnfmysqld 配置块加:

[mysqld]
caching_sha2_password_auto_generate_rsa_keys=OFF

然后重启 MySQL 服务,避免自动生成 RSA 密钥导致的连接问题。


4. 其他注意事项

  • 确保网络和防火墙允许 3306 端口访问。
  • 如果是首次连接,DBeaver GUI 连接一次后会缓存密钥,CLI 可能需要先用 GUI 连接成功。
  • 使用最新版本的 DBeaver 和 MySQL 驱动,避免兼容性问题。

总结

方案说明
DBeaver Driver Properties设置 allowPublicKeyRetrieval=true,最简单直接
JDBC URL 参数URL 加 ?allowPublicKeyRetrieval=true
MySQL 配置修改关闭自动生成 RSA 密钥,减少认证问题

通过以上配置,DBeaver 就能成功连接 MySQL,避免 “Public Key Retrieval is not allowed” 错误。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词