系统默认的时区与IDEA连接数据库的时区不一致,
MySQL默认时区为UTC,我们属于东八区时间,和UTC存在八个小时时差。
解决方案
1、降级
使用MySQL 8.0以下版本
2、更改配置文件
在MySQL目录下找到my.ini
打开在[mysqld]下添加一行 default-time-zone='+08:00'
重启MySQL服务
注意是[mysqld]下,加错位置服务会开不起来
3、MySQL命令设置
在mysql的命令模式下,输入:set global time_zone='+8:00';
4、IDEA连接数据库时把时区改成上海
在IDEA上连接数据库时,在Advanced板块中把serverTimezone的属性值为 Asia/Shanghai
jdbc.url=jdbc:mysql://localhost:3306/ssmbuilduseSSL=true&useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
5、在连接的时候修改
Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezone
property manually.
6、在数据库里修改时区,缺点是:修改之后,重启mysql服务后time_zone会还原
show variables like '%time_zone%'; //查看时区
set time_zone='+08:00'; //修改时区