java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed
时间: 2023-11-03 12:01:50 浏览: 1099
java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed 是一个Java数据库连接异常,意味着连接MySQL数据库时不允许公钥检索。为了解决这个问题,可以尝试以下几种方法:
1. 修改MySQL数据库连接字符串URL,在末尾追加 "?allowPublicKeyRetrieval=true" 参数,例如:
String url = "jdbc:mysql://localhost:3306/mydatabase?allowPublicKeyRetrieval=true&useSSL=false";
2. 如果使用的是Java 8及以上版本,可以将SSL模式设置为"false",即在JDBC驱动程序中通过添加一个额外属性来关闭SSL,例如:
String url = "jdbc:mysql://localhost:3306/mydatabase?sslMode=DISABLED";
这些方法可以帮助您解决 java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed 这个异常。
相关问题
java.sql.sqlnontransientconnectionexception: public key retrieval is not allowed
"java.sql.SQLNonTransientConnectionException: Public key retrieval is not allowed" 意思是在连接数据库时,程序试图获取公钥,但是被禁止了。这通常是因为数据库服务器上禁用了 SSL 或者TLS 认证。可以尝试更改数据库服务器配置或者使用不需要 SSL/TLS 的连接方式来解决问题。
java.sql.SQLNonTransientConnectionException:Public key Retrieval is not allowed
这个异常通常是在使用JDBC连接MySQL数据库时出现的,它表示公钥检索被禁止。这个问题通常是由于MySQL JDBC驱动程序的版本不兼容或者MySQL服务器的配置问题导致的。
解决这个问题的方法是在JDBC连接字符串中添加一个参数,如下所示:
```
jdbc:mysql://localhost:3306/mydatabase?allowPublicKeyRetrieval=true
```
这个参数告诉JDBC驱动程序允许公钥检索。如果你使用的是MySQL 8.0以上版本,那么你需要添加这个参数才能连接到MySQL服务器。
阅读全文