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

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

一些背景:

我在Tomcat 7上运行了一个Java1.6webapp,数据库是MySQL5.5。以前,我使用MySQLJDBC驱动程序5.1.23连接到DB。一切正常。我最近升级到MySQLJDBC驱动程序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.

为什么会发生这种事?


慕标5832272
浏览 896回答 3
3回答

慕姐8265434

显然,要使MySQLJDBC驱动程序的5.1.33版本与UTC时区一起工作,必须指定serverTimezone显式地在连接字符串中。jdbc:mysql://localhost/db?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC

缥缈止盈

我通过配置MySQL解决了这个问题。SET GLOBAL time_zone = '+3:00';

慕娘9325324

如果您使用的是Maven,您只需设置另一个MySQL连接器版本(我也有相同的错误,所以我从6.0.2改为5.1.39)pom.xml:<dependency> &nbsp;&nbsp;&nbsp;&nbsp;<groupId>mysql</groupId> &nbsp;&nbsp;&nbsp;&nbsp;<artifactId>mysql-connector-java</artifactId> &nbsp;&nbsp;&nbsp;&nbsp;<version>5.1.39</version></dependency>正如在另一个答案中所报告的,此问题已在6.0.3或更高版本中得到解决,因此您可以使用更新的版本:<dependency> &nbsp;&nbsp;&nbsp;&nbsp;<groupId>mysql</groupId> &nbsp;&nbsp;&nbsp;&nbsp;<artifactId>mysql-connector-java</artifactId> &nbsp;&nbsp;&nbsp;&nbsp;<version>6.0.3</version></dependency>保存后,maven将自动重新构建您的项目。pom.xml档案。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java
MySQL