Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Public Key Retrieval is not allowed
时间: 2023-10-14 09:56:19 浏览: 193
mysql 异常com.mysql.jdbc.CommunicationsException
5星 · 资源好评率100%
这个错误通常是由于 MySQL 连接配置问题引起的。当使用旧版本的 MySQL JDBC 驱动程序连接到 MySQL 8.0 或更新版本时,可能会出现此错误。
解决此问题的方法是在连接 URL 中添加一个参数来启用公钥检索。在连接 URL 中添加 `allowPublicKeyRetrieval=true` 参数,例如:
```
jdbc:mysql://hostname:port/database?allowPublicKeyRetrieval=true
```
请确保将 `hostname` 替换为实际的主机名,`port` 替换为 MySQL 服务器的端口号,`database` 替换为要连接的数据库名称。
如果您正在使用 Spring Boot 或其他框架,可以在配置文件中设置以下属性来解决此问题:
```
spring.datasource.url=jdbc:mysql://hostname:port/database?allowPublicKeyRetrieval=true
```
请记住,确保您正在使用与 MySQL 8.0 或更新版本兼容的 JDBC 驱动程序。您可以从 MySQL 官方网站下载最新的驱动程序,并将其添加到您的项目中。
阅读全文