如何解决与时区和SSL的问题(How can i fix the problem with time

2019-10-30 00:00发布

如果我的应用程序性能是这样的:

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.

有人能帮助我吗?

Answer 1:

我有错的依赖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

与时区的问题已经解决了这一行:

spring.datasource.url=jdbc:mysql://localhost:3306/yourTableName?useLegacyDatetimeCode=false&serverTimezone=UTC


文章来源: How can i fix the problem with timezone and SSL