Caused by: java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed
时间: 2023-10-16 16:32:59 浏览: 171
Android Caused by: java.lang.ClassNotFoundException解决办法
这个错误通常是由于 MySQL 8.0 版本以上的加密方式更新导致的。在 MySQL 8.0 版本以上,MySQL 默认使用了 RSA 加密方式,而 JDBC 驱动默认使用了 SHA-256 加密方式。当 JDBC 驱动连接 MySQL 8.0 版本以上的数据库时,会出现 Public Key Retrieval is not allowed 的错误。
为了解决这个问题,您可以在连接 MySQL 数据库时,加上一个参数 useSSL=false,以禁用 SSL 协议,例如:
```
jdbc:mysql://localhost:3306/database_name?useSSL=false
```
或者,您可以尝试升级您的 JDBC 驱动版本,以支持 MySQL 8.0 版本以上的加密方式。您可以在 MySQL 官方网站上下载最新的 JDBC 驱动版本,然后将其添加到您的项目中。
阅读全文