端口占用查询命令java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed
时间: 2024-09-06 12:00:45 浏览: 41
端口占用查询通常不是通过Java SQL API来解决的,`java.sql.SQLNonTransientConnectionException`是一个JDBC(Java Database Connectivity)异常,当遇到数据库连接相关的非临时错误时抛出。而"Public Key Retrieval is not allowed"这个信息通常涉及到SSL/TLS安全设置,表示系统无法获取数据库服务器的公钥来进行加密通信。
当你尝试从Java应用程序连接到一个需要验证身份(如HTTPS)的数据库时,如果权限不足或者证书未正确配置,就会抛出这个异常。这可能是因为Java环境没有正确的信任存储或者访问网络资源的权限受限。
解决这个问题通常包括以下几个步骤:
1. 检查你的JVM truststore是否包含目标数据库的公钥或证书。
2. 配置JDBC URL使用正确的SSL模式,例如 `jdbc:mysql://[hostname]:[port]/db?useSSL=true&serverCertificate=[path_to_certificate]`
3. 确保Java环境有权限访问网络以下载公钥。
4. 如果数据库服务不需要严格的SSL,可以考虑临时禁用SSL检查 (`useSSL=false`)。
如果你是在运行Java应用时遇到这个问题,你可以尝试使用`netstat`命令来检查特定端口(比如MySQL默认的3306端口)是否已被其他进程占用,命令类似于:
```sh
netstat -tulpn | grep :[port_number]
```
相关问题
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
"java.sql.SQLNonTransientConnectionException: Public key retrieval is not allowed" 意思是在连接数据库时,程序试图获取公钥,但是被禁止了。这通常是因为数据库服务器上禁用了 SSL 或者TLS 认证。可以尝试更改数据库服务器配置或者使用不需要 SSL/TLS 的连接方式来解决问题。
阅读全文