最近使用springboot配置mybatis插入数据到mysql数据库时报以下错误:
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 specifc time zone value if you want to utilize time zone support.
这是因为mysql的时区问题,我们看一下在数据库中使用的是什么时区,使用如下SQL语句查询:
SHOW variables LIKE '%time_zone%'
结果如下:
如上图所示SYSTEM是美国的时区,而中国要比美国迟8个小时,所以我们需要改一下时区,将其设置为当前系统的时区。解决办法有两种。
第一种解决办法:
在设置数据库连接的url上设置时区,如下所示:
第二种解决办法:
在mysql数据库中将数据库的时区+8即可,如下所示:
SET GLOBAL time_zone='+8:00'
这样就可以啦。
不过注意这样设置好后再次查询显示的时区还是SYSTEM,此时只要将工具或者控制台关闭再次打开,这样查询出来的时区就是+8:00啦。