dbeaver连接数据库时报错:Public Key Retrieval is not allowed
时间: 2024-01-24 12:15:56 浏览: 311
在DBeaver连接数据库时报错"Public Key Retrieval is not allowed",可以按照以下解决方法进行处理:
1. 打开DBeaver并选择要连接的数据库。
2. 在菜单栏中选择"连接",然后选择"编辑驱动设置"。
3. 在弹出的窗口中,选择"连接属性",然后选择"用户属性"。
4. 点击"添加属性"按钮,添加一个新的属性。
5. 在属性名称中输入"allowPublicKeyRetrieval",在属性值中输入"true"。
6. 点击"确定"保存设置。
7. 现在可以尝试重新连接数据库,应该不再报错"Public Key Retrieval is not allowed"。
相关问题
DBeaver工具连接数据库报错:Public Key Retrieval is not allowed
DBeaver是一款流行的开源数据库管理工具,它支持多种数据库,包括MySQL、PostgreSQL、Oracle等。当您在使用DBeaver尝试连接数据库时遇到"Public Key Retrieval is not allowed"(公钥获取被禁止)的错误,这通常是因为DBeaver试图验证与数据库服务器之间的SSL/TLS安全连接,但没有得到服务器提供的必要的数字证书(public key)。
这个问题可能有以下几个原因:
1. 证书信任设置:DBeaver默认依赖操作系统或Java的安全设置来处理证书。如果服务器的证书不是从常见的可信证书颁发机构(CA)签发的,或者DBeaver找不到这些证书,就会显示这个错误。
2. 证书文件未下载:某些情况下,DBeaver可能需要服务器提供的自签名证书文件,确保客户端能够正确识别和验证。
3. 安全策略限制:数据库服务器或公司的防火墙可能设置了不允许公开获取证书的策略。
为了解决这个问题,您可以尝试以下步骤:
1. **检查证书信任设置**:更新DBeaver的信任存储,添加服务器的证书,或者在DBeaver的SSL设置中手动导入证书。
2. **从服务器获取证书**:联系数据库管理员,确认他们是否可以提供证书文件,或者指导如何下载或安装。
3. **更改服务器设置**:如果权限允许,请求数据库管理员调整服务器的SSL配置,允许公钥获取。
4. **临时禁用SSL**:在安全风险可控的情况下,可以尝试禁用DBeaver的SSL验证进行连接,然后解决证书问题后再启用。
5. **更新DBeaver版本**:确保使用的是最新版本的DBeaver,有时候这种问题可能是由于软件的一个已知问题导致的。
DBeaver打开数据库报错:Public Key Retrieval is not allowed
### 解决方案
在遇到 `Public Key Retrieval is not allowed` 错误时,通常是因为 MySQL 服务器端配置与 DBeaver 客户端之间的连接参数不兼容所致[^2]。
#### 修改连接属性
为了使 DBeaver 成功连接到 MySQL 数据库并解决此问题,在创建新的数据库连接过程中需调整特定选项:
1. **新建数据库连接**
- 启动 DBeaver 并选择建立一个新的数据库连接。
2. **指定目标数据库**
- 在弹出的选择框内挑选要访问的目标数据库类型(例如 MySQL)。
3. **编辑高级设置**
- 转至“Advanced”标签页找到名为 `allowPublicKeyRetrieval` 的字段,并将其值设为 `true` 或者说是 `YES`。这一步骤允许客户端请求公钥验证从而绕过上述错误提示[^4]。
```sql
-- 示例 SQL 配置语句 (仅作示意用途)
SET GLOBAL allow_public_key_retrieval=ON;
```
通过以上操作可以有效处理因该权限未开启而引发的连接失败情况。值得注意的是,修改此项设置可能会影响安全性考量;因此建议依据实际应用场景权衡利弊后再做决定。
阅读全文
相关推荐














