Could not get JDBC Connection; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Public Key Retrieval is not allowed
时间: 2023-07-02 18:15:35 浏览: 111
mysql-jdbc连接数据库-错误提示.docx
这个错误通常是由于 MySQL 8.0 版本引入了更严格的安全策略所致,其中默认情况下禁用了使用旧的加密方法。这可能会导致某些 JDBC 驱动程序无法建立安全连接,因此您需要更新您的 JDBC 驱动程序并使用新的安全连接选项。
您可以从 MySQL 官方网站下载 MySQL Connector/J 驱动程序的最新版本,并将其替换为旧版本的驱动程序。如果您使用的是 Maven,可以更新您的 pom.xml 文件以使用最新版本的 Connector/J。
另外,您还可以在 JDBC 连接字符串中添加 `allowPublicKeyRetrieval=true` 选项来启用允许公钥检索的连接。例如:
```
jdbc:mysql://localhost:3306/mydatabase?allowPublicKeyRetrieval=true
```
这将允许使用旧的加密方法建立安全连接,但请注意这可能会降低安全性。
希望这些方法能帮助您解决问题。
阅读全文