MySQL8添加了一些新特性,安全性也有很大的提升。
导致的结果是在连接mysql的时候必须加入一个serverTimezone的参数,
也就是
jdbc:mysql://localhost/my_demo?serverTimezone=UTC
这其实是一个很好的解决办法,奈何由于一些莫名其妙的原因,有个脚本文件使用不了这个参数。
看着提示就只能修改MySQL本身的时区问题了。
修改时区的方法如下:
在MySQL命令行中执行如下代码:
set global time_zone = ‘+8:00’; ##修改mysql全局时区为北京时间,即我们所在的东8区
set time_zone = ‘+8:00’; ##修改当前会话时区
flush privileges; #立即生效
这样即修改了默认的时区问题。(该方法为一次性方法,服务重启即失效)
可以使用这个方法查看MySQL中time_zone的设置。
select curtime(); #或select now()也可以
±----------+
| curtime() |
±----------+
| 15:18:10 |
±----------+
show variables like “%time_zone%”;
±-----------------±-------+
| Variable_name | Value |
±-----------------±-------+
| system_time_zone | CST |
| time_zone | SYSTEM |
±-----------------±-------+
2 rows in set (0.00 sec)
#time_zone说明mysql使用system的时区,system_time_zone说明system使用CST时区