【发布时间】:2019-05-28 07:47:11
【问题描述】:
数据库:
$ mysql --version
mysql Ver 14.14 Distrib 5.6.27, for osx10.10 (x86_64) using EditLine wrapper
Spring Boot:2.1.1.RELEASE
错误:
2019-01-01 15:56:25.849 ERROR 39957 --- [ restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Exception during pool initialization.
> :bootRun
java.sql.SQLException: The server time zone value 'AEDT' 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://127.0.0.1:3306/avmaint-local?useSSL=false&serverTimezone=UTC
spring.datasource.username=#####
spring.datasource.password=########
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
我对此感到奇怪的是,该错误表明正在使用它的时区 AEDT,但我在 spring.datasource.url 中指定了 UTC。 Hikari 在初始化时会读取其他内容吗?
看起来很像 Hikari 忽略了数据库 url 中的服务器时区设置,而是使用我自己机器的时区,恰好是“AEDT”(澳大利亚墨尔本)——这是不受欢迎的行为。我希望 Hikari 忽略我自己机器的时区。有谁知道如何让它做到这一点?
【问题讨论】:
标签: mysql spring-boot hikaricp