欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用最新版MySQL的jdbc驱动关于时区引发的问题

程序员文章站 2022-07-12 18:31:18
...
Caused by: java.sql.SQLException: The server time zone value...

报错内容:
Caused by: java.sql.SQLException: The server time zone value 'XXXXXXXXX' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support. 

原因:
    在使用mysql的jdbc驱动最新版(6.0+)时,遇到数据库和系统时区差异引起的问题。

解决方法:
    一种是降版本,这个我们知道就行了,并不推荐;还有一种是在jdbc连接的url后面加上serverTimezone=UTC或GMT即可,如果指定使用gmt+8时区,需要写成GMT%2B8,否则可能报解析为空的错误。示例如下:
jdbc.url=jdbc:mysql://localhost:3306/demo?serverTimezone=UTC&characterEncoding=utf-8