项目场景:
今天在做项目的时候遇到一个关于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’,进行测试。完美解决。
总结
问题不大,但也着实头疼,一次性解决不很完美。
到此这篇关于带你永久摆脱Mysql时区错误问题的文章就介绍到这了,更多相关Mysql时区错误问题内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!