使用 DBeaver 连接 MySQL 8.0+ 报 Public Key Retrieval is not allowed 的解决方案

这个错误是 DBeaver 连接 MySQL 时常见的问题。DBeaver 连接 MySQL 数据库报 Public Key Retrieval is not allowed 错误,这是由于 MySQL 8.0+ 默认用户使用 caching_sha2_password 认证方式。推荐在 DBeaver 连接设置中启用公钥检索(推荐 ✅)以下是几种解决方案:

方法1:修改连接属性(推荐)

  1. 打开 DBeaver → 数据库 → 新建数据库连接 → MySQL
  2. 点击右下角的 → 编辑驱动设置 → 默认属性 → 鼠标右键,点击 “添加新属性”
  3. 添加以下属性:
    • 名称:allowPublicKeyRetrieval
    • 值:true

方法2:修改连接URL

在连接设置中的 URL 字段末尾添加参数:

jdbc:mysql://your-host:3306/your-database?allowPublicKeyRetrieval=true

方法3:使用SSL连接

如果服务器支持SSL,可以尝试:

jdbc:mysql://your-host:3306/your-database?useSSL=true&requireSSL=true

方法4:更新MySQL驱动

  1. 在连接编辑界面点击 下载/更新驱动
  2. 选择最新版本的 MySQL 驱动

方法5:修改MySQL用户密码

如果是因为密码加密方式问题:

-- 在MySQL中执行
ALTER USER 'username'@'host' IDENTIFIED WITH mysql_native_password BY 'password';
FLUSH PRIVILEGES;

安全提醒

allowPublicKeyRetrieval=true 可能会带来一定的安全风险,建议:

  • 仅在测试环境使用
  • 生产环境考虑使用SSL连接
  • 定期更新密码

推荐按顺序尝试方法1 → 方法4 → 方法2,方法5作为最后的选择。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

龙茶清欢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值