一篇摆脱Mysql时区错误问题,idea数据库可视化插件配置
项目场景:
今天在做项目的时候遇到一个关于
mysql时区
的问题,在这里汇总记录一下解决过程,希望可以帮助到有需要的人。
问题描述
在做项目的时候突然遇到以下的报错,可以看到是说
数据库的时区错误
,这里使用的是Mysql 8.0.15数据库。
这里试用了idea提供的数据库可视化插件。
以下报错使得无法访问数据库。
org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: 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 specifc time zone value if you want to utilize time zone support. ### The error may exist in StudentMapper.xml ### The error may involve ll.getAll ### The error occurred while executing a query ### Cause: 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 specifc time zone value if you want to utilize time zone support.
原因分析
这里首先考虑是数据库本身的默认时区设置的问题,
其次考虑在设置idea数据库可视化插件连接的时候的时区的设置问题
解决方案:
通过以下步骤解决了此问题:
打开命令窗口,进入mysql服务:
接着查询时区:
show variables like "%time_zone%";
这里显示SYSTEM表示跟随系统,一般情况下是没有问题的,但是偶尔也会出现问题,这里我们就直接更改成'+8:00'
set global time_zone='+08:00';
注意:这只是临时修改,重启mysql服务后就会失效
下面介绍永久修改:
永久的修改:修改mysql的配置文件my.ini,添加:default-time-zone=’+08:00’,重启mysql生效,注意一定要在 [mysqld] 之下加 ,否则会出现 unknown variable ‘default-time-zone=+8:00’
接下来再去idea里面测试一下。
发现结果还是报错,那么据考虑是idea数据库可视化插件的链接配置问题。
接下来修改idea数据库可视化插件配置:
在这里加上时区'+8:00',进行测试。完美解决。
总结
问题不大,但也着实头疼,一次性解决不很完美。
有帮助的小伙伴来个三连吧!!!