当前位置: 首页 > 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” 错误。

http://www.dtcms.com/a/180424.html

相关文章:

  • 青少年编程与数学 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循环
  • 如何解决按钮重复点击
  • Java高频基础面试题
  • 画家沈燕的山水实验:在传统皴法里植入时代密码
  • Java LocalDateTime类常用时间操作详解
  • 在windows系统中安装图数据库NEO4J
  • 2025年JavaScript性能优化全攻略
  • OrangePi Zero 3学习笔记(Android篇)4 - eudev编译(获取libudev.so)
  • RoPE长度外推:外插内插
  • Microsoft 365 Copilot:为Teams在线会议带来多语言语音交流新体验
  • 内存安全革命:工具、AI 与政策驱动的 C 语言转型之路
  • Mac配置php开发环境(多PHP版本,安装Redis)