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

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

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

慕标5832272 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

TA贡献1813条经验 获得超2个赞

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

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



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

TA贡献2041条经验 获得超4个赞

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

SET GLOBAL time_zone = '+3:00';


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

TA贡献1783条经验 获得超4个赞

如果您使用的是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
  • 3 回答
  • 0 关注
  • 893 浏览
慕课专栏
更多

添加回答

举报

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