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

一些背景:

我有一个Java1.6WebApp在Tomcat7上运行。数据库是MySQL 5.5。之前,我使用Mysql JDBC驱动程序5.1.23连接到数据库。一切顺利。我最近升级到Mysql JDBC驱动程序5.1.33。升级后,Tomcat在启动应用程序时会抛出此错误

警告:异常解析引用
java.sql.SQLException:服务器时区值“UTC”无法识别或表示
不止一个时区。您必须配置服务器或JDBC驱动程序(通过
serverTimezone配置属性),以便在以下情况下使用更具体的时区值:
您希望利用时区支持。

为什么会这样

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

jdbc:mysql://localhost/db?useUnicode=true&使用jdbc CompliantTimeZoneShift=true&useLegacyDatetimeCode=false&服务器时区=UTC

发表评论