Mysql 报错 “Public Key Retrieval is not allowed”

报错 "Public Key Retrieval is not allowed" 出现的原因和之前分析的一样:MySQL 用户使用了 caching_sha2_password 认证,而 DBeaver 默认不允许自动获取公钥。

解决方法:


方法 A:在 DBeaver 中修改连接属性

  1. 点击 编辑驱动设置 → 驱动属性(Driver Properties)

  2. 找到或新增属性:

    • allowPublicKeyRetrievaltrue
    • useSSLfalse(如果你不使用 SSL)
  3. 保存后再测试连接。

示例 JDBC URL 形式(DBeaver 可以自动拼接):

ini 复制代码
jdbc:mysql://10.0.71.31:3306/dbname?allowPublicKeyRetrieval=true&useSSL=false

方法 B:修改 MySQL 用户认证方式

如果你可以修改数据库:

sql 复制代码
ALTER USER 'dzm'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码';
FLUSH PRIVILEGES;

然后在 DBeaver 里直接连接即可,无需修改额外参数。


💡 总结:

  • 最快解决 :在 DBeaver 驱动属性里加 allowPublicKeyRetrieval=true
  • 更安全 :把用户改成 mysql_native_password
相关推荐
Oo大司命oO36 分钟前
藏在正则表达式里的陷阱
数据库·mysql·正则表达式
三十岁老牛再出发4 小时前
07.26每日总结
linux·c语言·mysql
xieliyu.5 小时前
MySQL 存储过程详解:概念、创建与删除全教程
开发语言·数据库·mysql
ttwuai5 小时前
AI 生成后台删除按钮后,MySQL 软删除和唯一索引怎么验
数据库·mysql·golang
想你依然心痛5 小时前
用MySQL玩转数据可视化:从SQL查询到动态图表的完整实战
sql·mysql·信息可视化
Mico187 小时前
MySQL 8.0.35 主从延迟模拟与解决
mysql
不知疲倦的仄仄8 小时前
MySQL/Read View快照/MVCC/串行化
java·数据库·mysql
Mico189 小时前
MySQL 5.7.35 升级到 8.0.35 — 原地升级(主从架构方式)
mysql
万亿少女的梦16810 小时前
基于Spring Boot的乐助在线助农系统设计与实现
java·spring boot·mysql·敏感词过滤·助农系统
艾莉丝努力练剑10 小时前
【MYSQL】MYSQL学习的一大重点:基本查询(下)
android·数据库·学习·mysql·面试·八股文