dbeaver下载驱动报错:Public Key Retrieval is not allowed Public Key Retrieval is not allowed
时间: 2025-06-12 11:47:30 浏览: 27
### 解决方案
DBeaver 中出现的“Public Key Retrieval is not allowed”错误,通常是因为 MySQL 客户端尝试从服务器获取公钥以验证身份,但默认情况下该操作被禁用。以下是几种解决此问题的方法:
#### 方法 1:编辑连接配置
在 DBeaver 中右键点击有问题的 MySQL 连接,选择 **编辑连接(Edit Connection)**,然后转到 **驱动属性(Driver Properties)** 选项卡。添加或修改以下属性:
- `allowPublicKeyRetrieval=true`[^3]
- `useSSL=false`(仅限开发环境)
完成更改后,点击 **确定** 保存设置。
#### 方法 2:通过连接 URL 设置
在编辑连接时,切换到 **主设置(Main)** 选项卡,找到 **URL** 字段。在 URL 的末尾添加以下参数(注意使用 `?` 或 `&` 分隔符):
```plaintext
?allowPublicKeyRetrieval=true&useSSL=false
```
完整 URL 示例:
```plaintext
jdbc:mysql://localhost:3306/your_db?allowPublicKeyRetrieval=true&useSSL=false
```
保存更改后重新测试连接。
#### 方法 3:更新驱动配置
进入 **连接设置(Connection Settings)** → **编辑驱动设置(Edit Driver Settings)**,然后在 **驱动属性(Driver Properties)** 中添加以下属性:
- `allowPublicKeyRetrieval=true`
此外,建议检查是否使用的是最新版本的 MySQL 驱动程序。如果当前驱动版本较旧,可能需要下载并替换为最新版本的 JDBC 驱动。
#### 方法 4:调整 MySQL 用户认证方式
如果可能,可以将 MySQL 用户的认证方式更改为 `mysql_native_password`。这可以通过以下 SQL 命令实现:
```sql
ALTER USER 'your_user'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';
FLUSH PRIVILEGES;
```
这种方式可以避免某些与现代认证插件相关的兼容性问题。
#### 安全建议
对于生产环境,不建议禁用 SSL 或启用 `allowPublicKeyRetrieval=true`。相反,应该配置正确的 SSL/TLS 连接以确保数据传输的安全性。上述设置仅适用于受信任的开发环境。
---
### 示例代码
以下是完整的 URL 配置示例:
```plaintext
jdbc:mysql://localhost:3306/test_db?allowPublicKeyRetrieval=true&useSSL=false
```
如果需要更新驱动程序,可以从官方 Maven 仓库下载最新版本的 MySQL Connector/J,并将其添加到 DBeaver 的驱动管理器中。
---
###
阅读全文
相关推荐


















