为了账号安全,请及时绑定邮箱和手机立即绑定

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

/ 猿问

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

烧仙草VB 2019-07-22 15:11:08

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.

为什么会发生这种事?


查看完整描述

3 回答

?
慕姐8265434

显然,要使MySQLJDBC驱动程序的5.1.33版本与UTC时区一起工作,必须指定serverTimezone显式地在连接字符串中。

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



查看完整回答
反对 回复 2019-07-22
?
缥缈止盈

我通过配置MySQL解决了这个问题。

SET GLOBAL time_zone = '+3:00';


查看完整回答
反对 回复 2019-07-22
?
慕娘9325324

如果您使用的是Maven,您只需设置另一个MySQL连接器版本(我也有相同的错误,所以我从6.0.2改为5.1.39)pom.xml:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.39</version></dependency>

正如在另一个答案中所报告的,此问题已在6.0.3或更高版本中得到解决,因此您可以使用更新的版本:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>6.0.3</version></dependency>

保存后,maven将自动重新构建您的项目。pom.xml档案。


查看完整回答
反对 回复 2019-07-22

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信