本文介绍了如何解决时区和SSL问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如果我的应用程序属性如下:
If my application properties look like this:
server.port=8080
spring.jpa.hibernate.ddl-auto=update
spring.datasource.url=jdbc:mysql://localhost:3306/employees?useSSL=false
spring.datasource.username=root
spring.datasource.password=
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
我得到一个错误:
java.sql.SQLException: The server time zone value 'rodkowoeuropejski czas stand' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.
如果我更改:
spring.datasource.url=jdbc:mysql://localhost:3306/employees?useSSL=false
收件人:
spring.datasource.url = jdbc:mysql://localhost:3306/CityBikeRental?useLegacyDatetimeCode=false&serverTimezone=UTC
我明白了:
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.
有人可以帮助我吗?
推荐答案
我有错误的依赖项,因为:
I had wrong dependency becouse:
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
需要此依赖项:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>8.0.15</scope>
</dependency>
我的版本是8.0.11
i had version 8.0.11
时区问题已通过以下行得到解决:
The problem with the time zone has been solved by this line:
spring.datasource.url=jdbc:mysql://localhost:3306/yourTableName?useLegacyDatetimeCode=false&serverTimezone=UTC
这篇关于如何解决时区和SSL问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!