java - MySQL JDBC 驱动程序 5.1.33 - 时区问题

标签 java mysql tomcat jdbc timezone

一些背景:

我有一个在 Tomcat 7 上运行的 Java 1.6 webapp。数据库是 MySQL 5.5。以前,我使用 Mysql JDBC 驱动程序 5.1.23 连接到数据库。一切正常。我最近升级到 Mysql JDBC 驱动程序 5.1.33。升级后,Tomcat在启动应用时会抛出这个错误。

WARNING: Unexpected exception resolving reference
java.sql.SQLException: The server timezone value 'UTC' is unrecognized or represents
  more than one timezone. You must configure either the server or JDBC driver (via
  the serverTimezone configuration property) to use a more specifc timezone value if
  you want to utilize timezone support.

为什么会这样?

最佳答案

显然,要使 MySQL JDBC 驱动程序版本 5.1.33 与 UTC 时区一起工作,必须在连接字符串中明确指定 serverTimezone

jdbc:mysql://localhost/db?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC

关于java - MySQL JDBC 驱动程序 5.1.33 - 时区问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26515700/

相关文章:

java - 我应该在每个服务方法上放置 @Async 以使我的应用程序完全支持 Spring 中的异步吗?

java - onRowSelect(SelectEvent event) 方法

java - 找不到 com.google.cloud.bigtable.hbase1_x.BigtableConnection 的合适构造函数

windows - Windows 上 tomcat 7 生产中的 log4j 路径

java - Spring Boot 应用程序在 STS 中工作但无法使用 java -jar 启动

java - Apache 菲利克斯 : Delete JAR from Load Directory without Container Shutdown

java - 使用注解配置的 Spring 控制台应用程序

mysql - 查询 mySQL 以请求类别条目数

php数组和mysql语法错误

mysql - 仅使用唯一记录更新 MySQL 表?