DBeaver连接nacos数据库提示Public Key Retrieval is not allowed
时间: 2023-12-08 09:39:14 浏览: 211
您好,这个问题可能是由于DBeaver连接MySQL时,未开启公钥检索导致的。您可以尝试在驱动属性中将“allowPublicKeyRetrieval”设置为true即可 。如果您使用的是Nacos,可以在Nacos的配置文件application.properties中的数据库连接配置db.url.0参数加上allowPublicKeyRetrieval=true。
相关问题
DBeaver连接MYSQL数据库报public key retrieval is not allowed错误
这个错误通常是因为 MySQL 服务器拒绝了公钥加密的连接,而 DBeaver 默认使用了公钥加密的方式连接 MySQL 服务器。为了解决这个问题,你可以尝试以下方法:
1. 修改 DBeaver 连接参数,改为使用密码验证方式连接 MySQL 服务器。
2. 在 MySQL 服务器上修改配置文件 my.cnf,将参数 "skip-ssl" 设置为 "1",然后重启 MySQL 服务器。
3. 在 MySQL 服务器上为用户授权,允许使用公钥加密的连接方式。具体方法可以参考 MySQL 官方文档。
希望这些方法能够帮助你解决问题。
dbeaver连接mysql数据库出现Public Key Retrieval is not allowed怎么办
### 错误原因分析
该错误通常发生在 DBeaver 客户端尝试通过 SSL/TLS 配置与 MySQL 数据库建立连接时。具体来说,“Public Key Retrieval is not allowed”的原因是客户端未被允许主动检索服务器的公钥[^4]。
---
### 解决方案一:修改 JDBC URL 参数
可以通过调整 DBeaver 的 JDBC 连接参数来解决问题。以下是具体的解决方案:
#### 修改步骤
在 DBeaver 中编辑 MySQL 数据源的连接属性,在 **JDBC URL** 字段中添加 `allowPublicKeyRetrieval=true` 和 `useSSL=false` 参数。完整的 JDBC URL 可能如下所示:
```plaintext
jdbc:mysql://<host>:<port>/<database>?allowPublicKeyRetrieval=true&useSSL=false
```
其中 `<host>` 是数据库主机地址,`<port>` 是 MySQL 端口号(默认为 3306),`<database>` 是目标数据库名称[^1]。
此方法的作用是显式启用公钥检索功能并关闭 SSL 加密传输,从而避免因缺少公钥而导致的错误。
---
### 解决方案二:更新驱动程序版本
如果当前使用的 MySQL Connector/J 版本较旧,则可能导致兼容性问题。建议下载最新版的 MySQL Connector/J 并替换原有的驱动文件。
#### 更新步骤
1. 访问官方站点下载最新的 MySQL Connector/J JAR 文件。
2. 将新下载的 JAR 文件导入至 DBeaver 的驱动管理器中。
3. 删除原有驱动或覆盖其路径指向新的 JAR 文件位置[^2]。
完成以上操作后重新测试连接即可消除潜在冲突。
---
### 解决方案三:检查 MySQL Server 配置
有时问题可能源于 MySQL 服务本身的配置不当。可以按照以下指导验证和修正相关设置:
#### 启动 MySQL 服务
确保 MySQL 服务已正常启动。对于 Windows 用户而言,可通过图形界面找到对应的服务项(如名为“MySQL80”)或者执行命令行指令开启它:
```cmd
net start MySQL80
```
这里假设服务名已被设定成标准形式即“MySQL80”,实际名字取决于安装过程中的自定义选项[^3]。
另外还需确认 my.cnf/my.ini 文件里是否存在关于 ssl_mode 或其他安全协议方面的强制约束条件;如有必要可适当放宽这些限制以便顺利实现无加密握手流程。
---
### 总结
综上所述,针对"DBeaver MySQL 'Public Key Retrieval is not allowed'"这一常见异常状况提供了三种可行对策——优化 jdbc url 参数、升级 mysql connector/j 至最新稳定发行版以及审查后台 mysqld 实例的工作状态及其关联策略文档内容。任选其中之一实施均有望彻底根除此类现象的发生几率。
---
阅读全文
相关推荐















