dbeaver连接mysql数据库安装驱动显示Public Key Retrieval is not allowed
时间: 2025-02-24 22:38:57 浏览: 95
### 解决 DBeaver 连接 MySQL 数据库时 'Public Key Retrieval is not allowed' 错误
在尝试通过 DBeaver 连接到 MySQL 数据库并遇到错误提示 "Public Key Retrieval is not allowed" 时,这通常是因为 JDBC 驱动程序默认启用了公钥检索功能。为了禁用此功能,可以在连接字符串中添加特定参数。
#### 修改连接 URL 参数
可以通过修改数据库连接的 URL 来解决问题。具体来说,在原有的 URL 后面追加 `allowPublicKeyRetrieval=false` 和 `useSSL=false` 或者设置为 true 取决于安全需求:
```sql
jdbc:mysql://hostname:port/database?allowPublicKeyRetrieval=true&useSSL=false
```
这里的 `true` 表示允许公钥检索而不会抛出异常;如果希望完全关闭该特性,则应设为 false[^1]。
另外一种方法是在 Java 应用程序配置文件里指定这些属性,而不是直接放在 URL 中。对于某些应用程序而言可能更方便管理。
关于 NULL 的概念在此场景下并不适用,因为这里讨论的是网络通信层面的安全性和认证机制而非编程语言内部的数据结构或指针操作[^2]。
相关问题
dbeaver连接mysql数据库Public Key Retrieval is not allowed Public Key Retrieval is not allowed
### 解决 DBeaver 连接 MySQL 数据库时出现 'Public Key Retrieval is not allowed' 错误
#### 修改用户身份验证插件
对于遇到此问题的情况之一,可以通过更改用户的认证方式来解决问题。具体操作是在命令行模式下进入 MySQL 并执行如下 SQL 语句:
```sql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
```
这条指令会将指定账户的身份验证方法更改为 `mysql_native_password`,从而避免了公钥检索的需求[^3]。
#### 调整 JDBC URL 参数
另一种解决方案涉及调整用于建立连接的 JDBC URL 的参数。可以尝试向现有的 JDBC URL 添加 `allowPublicKeyRetrieval=true` 和其他必要的选项,例如字符编码设置等。完整的 URL 应该看起来像这样:
```plaintext
jdbc:mysql://hostname:port/database_name?useUnicode=true&allowPublicKeyRetrieval=true&characterEncoding=UTF-8
```
这样做可以让客户端应用程序接受来自服务器端的公钥请求,进而绕过上述错误消息[^4]。
#### 关闭 SSL 加密功能
如果项目环境并不强制要求安全传输层协议 (SSL),那么可以选择关闭它作为临时措施。只需简单地给 JDBC URL 后面追加 `useSSL=false` 即可实现这一点:
```plaintext
jdbc:mysql://hostname:port/database_name?useSSL=false
```
需要注意的是,在生产环境中应谨慎考虑安全性因素后再决定是否采用这种方法。
通过以上三种途径中的任意一种都可以有效地处理 DBeaver 连接到 MySQL 数据库时报出的 `'Public Key Retrieval is not allowed'` 错误信息。
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 官方文档。
希望这些方法能够帮助你解决问题。
阅读全文
相关推荐















