springboot连接Mysql时警告:Establishing SSL connection without server‘s identity verification is not re...

1.完整错误:
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.


2.产生原因:
产生这个错误的原因是MySQL在高版本需要指明是否进行SSL(保障Internet数据传输安全利用数据加密)


3.解决方案:
在连接mysql的url后面加上 autoReconnect=true&useSSL=false

例如:

spring.datasource.url = jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8

再后面加上:

spring.datasource.url = jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false

也有些人加了这些配置,但还是会报错:Caused by: java.security.cert.CertPathValidatorException: Path does not chain with any of the trust
那是因为加的是autoReconnect=true&useSSL=true
即设置useSSL = true并为服务器证书验证提供信任库。
如果嫌麻烦的话,还是建议设置为false。

你可能感兴趣的:(学海漂游,spring,spring,boot,java)