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.

特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过。如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/mao2080/

1、问题描述

本地程序执行是OK,但是发布到Linux上,MySQL设置的UTC时间,在执行数据库操作的时候,就会报如下错误:
Failedjava.sql.SQLException: The server time zone value 'Coordinated Universal Time' 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.

2、解决方法

在db连接串后面加上:?serverTimezone=UTC,完整示例:jdbc:mysql://localhost:3306/dbname?serverTimezone=UTC【可以指定时区问题】

3、拓展知识

在db连接串后面加上:?useUnicode=true&characterEncoding=UTF-8,完整示例:jdbc:mysql://localhost:3306/dbname?useUnicode=true&characterEncoding=UTF-8 【可以解决中文乱码问题】

当然也可以联合起来用jdbc:mysql://localhost:3306/dbname?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC

4、参考网站

https://blog.csdn.net/aayygg1234/article/details/78205240

posted @ 2018-08-11 17:37  mao2080  阅读(15765)  评论(1编辑  收藏  举报