Tue Jun 06 17:14:59 CST 2023 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.怎么解决
时间: 2024-03-10 19:43:38 浏览: 356
这个警告信息表明建议在建立MySQL数据库连接时进行服务器身份验证。为了解决这个问题,你需要在连接MySQL时启用SSL,并提供用于服务器证书验证的信任库。具体来说,你可以采取以下两种方式解决这个问题:
1. 显式地设置useSSL=true,并提供服务器证书的信任库
你可以设置useSSL=true,这将启用SSL连接,并提供服务器证书的信任库,以进行服务器身份验证。你可以按照以下步骤进行操作:
```
String url = "jdbc:mysql://localhost:3306/dbname?useSSL=true&requireSSL=true&serverTimezone=UTC";
String truststore = "/path/to/truststore";
String truststorePassword = "truststore_password";
System.setProperty("javax.net.ssl.trustStore", truststore);
System.setProperty("javax.net.ssl.trustStorePassword", truststorePassword);
Connection conn = DriverManager.getConnection(url, "username", "password");
```
这里,你需要将url中的useSSL设置为true,提供服务器证书的信任库,并设置truststore和truststorePassword属性。这样,你就可以建立一个安全的SSL连接。
2. 显式地设置useSSL=false,禁用SSL连接
如果你不想使用SSL连接,你可以将useSSL设置为false。这样,你就可以禁用SSL连接。你可以按照以下步骤进行操作:
```
String url = "jdbc:mysql://localhost:3306/dbname?useSSL=false&serverTimezone=UTC";
Connection conn = DriverManager.getConnection(url, "username", "password");
```
这里,你需要将url中的useSSL设置为false,这样就可以禁用SSL连接,然后建立一个普通的非SSL连接。
阅读全文