datagrip创建数据库[08001] Public Key Retrieval is not allowed.
时间: 2025-01-04 16:35:15 浏览: 7
### 解决 DataGrip 创建数据库时遇到的 "Public Key Retrieval is not allowed" 错误
当在 DataGrip 中尝试连接到 MySQL 数据库并收到 `[08001] Public Key Retrieval is not allowed` 错误时,这通常是因为 MySQL 的默认安全策略阻止了客户端自动检索服务器端公钥。为了克服这一障碍,可以调整连接参数以显式允许这种行为。
#### 修改 JDBC URL 参数
最直接的方法是在用于建立连接的 JDBC URL 中加入 `allowPublicKeyRetrieval=true` 参数。完整的 URL 可能看起来像这样:
```plaintext
jdbc:mysql://hostname:port/database?useSSL=false&allowPublicKeyRetrieval=true
```
这里的关键部分是 `allowPublicKeyRetrieval=true`[^1]。
#### 调整驱动属性配置
另一种方法是从 DataGrip 内部修改驱动程序属性设置,在创建新连接的过程中找到高级选项或自定义属性的地方,添加名为 `allowPublicKeyRetrieval` 的键并将它的值设为 `true`[^4]。
#### 更新 MySQL 用户权限
有时即使设置了上述参数仍然会碰到相同的问题,这时可能需要登录到 MySQL 控制台作为管理员执行如下命令来授予特定用户的 SSL 权限:
```sql
GRANT ALL PRIVILEGES ON *.* TO 'yourusername'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
```
请注意替换 `'yourusername'%` 为你实际使用的用户名[^2]。
阅读全文