这个错误是 DBeaver 连接 MySQL 时常见的问题。DBeaver 连接 MySQL 数据库报 Public Key Retrieval is not allowed 错误,这是由于 MySQL 8.0+ 默认用户使用 caching_sha2_password 认证方式。推荐在 DBeaver 连接设置中启用公钥检索(推荐 ✅)以下是几种解决方案:
方法1:修改连接属性(推荐)
- 打开 DBeaver → 数据库 → 新建数据库连接 → MySQL
- 点击右下角的 → 编辑驱动设置 → 默认属性 → 鼠标右键,点击 “添加新属性”
- 添加以下属性:
- 名称:
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驱动
- 在连接编辑界面点击 下载/更新驱动
- 选择最新版本的 MySQL 驱动
方法5:修改MySQL用户密码
如果是因为密码加密方式问题:
-- 在MySQL中执行
ALTER USER 'username'@'host' IDENTIFIED WITH mysql_native_password BY 'password';
FLUSH PRIVILEGES;
安全提醒
allowPublicKeyRetrieval=true 可能会带来一定的安全风险,建议:
- 仅在测试环境使用
- 生产环境考虑使用SSL连接
- 定期更新密码
推荐按顺序尝试方法1 → 方法4 → 方法2,方法5作为最后的选择。
2097

被折叠的 条评论
为什么被折叠?



