当前位置: 首页 > news >正文

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” 错误。

相关文章:

  • 青少年编程与数学 02-019 Rust 编程基础 04课题、基本数据类型
  • 智能指针笔记
  • CST软件如何获取二极管的IV曲线
  • 边缘计算:技术概念与应用详解
  • 黑马Java基础笔记-9
  • C++23 views::chunk_by (P2443R1) 详解
  • Linux网络编程day8本地套接字
  • 【LeetCode Solutions】LeetCode 176 ~ 180 题解
  • Bearer Token的神秘面纱:深入解析HTTP认证头的设计哲学
  • rust-candle学习笔记11-实现一个简单的自注意力
  • Excel图表 vs 专业可视化工具:差距有多大?内容摘要
  • 浅蓝色调风格人像自拍Lr调色预设,手机滤镜PS+Lightroom预设下载!
  • 【Survival Analysis】【机器学习】【3】deepseek流程图
  • RDD转换算子案例
  • 【Python 字典(Dictionary)】
  • Baklib知识中台引领服务智能跃迁
  • ‌云原生CAE软件
  • Nacos源码—7.Nacos升级gRPC分析四
  • 【C/C++】范围for循环
  • 如何解决按钮重复点击
  • 明星同款撕拉片,为何能炒到三四百一张?
  • 浙江一民企拍地后遭政府两次违约,“民告官”三年又提起民事诉讼
  • 来论|建设性推进缅北和平进程——中国的智慧与担当
  • 优化网络营商环境,上海严厉打击涉企网络谣言、黑灰产等违法犯罪
  • 波音公司计划于2027年交付新版“空军一号”飞机
  • 美联储主席:关税“远超预期”,美联储实现目标的进程或被推迟至明年