您的位置:首页 > 编程语言 > Java开发

mysql-connector-java 8.0.20的坑---server time zone

2020-05-26 21:03 267 查看

近日,笔者在使用mysql-connector-java.jar 8.0.20版连接本地mysql数据库时,把项目运行起来,发现jsp页面疯狂报错。错误信息如下所示:

java.sql.SQLException: The server time zone value 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 specific time zone value if you want to unilize zone support.

翻译后为:

服务器时区值无法识别或表示多个时区。如果您想使区域支持单边化,则必须配置服务器或JDBC驱动程序(通过“serverTimezone”配置属性),以使用更具体的时区值。

原因:

使用高版本(8.0+)的mysql-connector-java.jar连接数据库时需要指定时区信息。

解决方法:

在数据库的url地址后加一个serverTimezone参数,值为Asia/Shanghai或GMT%2B8

解释:

中国所在时区为东八区,上面两个值都是表示东八区,%2B表示的是+号,即GMT+8,但是+号在mysql中可能乱码。

 

注意:

当使用高版本(8.0+)的mysql-connector-java.jar连接数据库时,com.mysql.cj.jdbc.Driver类在中间加了cj.

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐