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
相关推荐
呆瑜nuage1 天前
MySQL表约束详解:8大核心约束实战指南
数据库·mysql
元宝骑士1 天前
FIND_IN_SET使用指南:场景、优缺点与MySQL优化策略
后端·mysql
猿小喵1 天前
MySQL慢查询分析与处理-第二篇
数据库·mysql·性能优化
Y001112361 天前
MySQL-进阶
开发语言·数据库·sql·mysql
前进的李工1 天前
MySQL角色管理:权限控制全攻略
前端·javascript·数据库·mysql
爱丽_1 天前
MySQL `EXPLAIN`:看懂执行计划、判断索引是否生效与排错套路
android·数据库·mysql
牧魂.1 天前
MySQL 主从延迟根因诊断法
mysql·高并发·主从复制·主从延迟·数据库调优
东北甜妹1 天前
MySQL数据库高级特性
mysql
Trouvaille ~1 天前
【MySQL篇】从零开始:安装与基础概念
linux·数据库·mysql·ubuntu·c·教程·基础入门
Yana.nice1 天前
MySQL 事务的四大特性(ACID)
数据库·mysql·oracle