引言
由于最近使用Idea连接mysql数据库比较频繁,每次连接都会提示如下:
Server returns invalid timezone. Go to ‘Advanced’ tab and set ‘serverTimezone’ property manually.
出现时区问题,今天就总结一下我使用的两个解决办法。
方法一(暂时性)
- 快捷键 win+R 输入cmd ,打开命令行窗口
- 连接mysql数据库,输入mysql -u root -p 回车,然后输入密码。
- 检查mysql系统时区,输入show variables like “%time_zone%”; 回车,出现如下图所示:
- 设置时区,输入set global time_zone = ‘+8:00’;回车,然后重启mysql服务。
- 再次检查mysql时区,输入show variables like “%time_zone%”; 回车,出现如下图所示:
- 最后测试连接mysql,测试连接成功!
方法一只是暂时性的修改时区,下次开机或者重启mysql服务的时候,重新连接mysql数据库又会出现时区问题。可以继续按照方法一修改时区,也可以参照方法二,永久修改mysql默认时区(建议使用方法二,省事)
方法二(永久性)
- 找到你mysql安装目录下的my.ini文件,右键使用记事本打开(或者其他编辑器打开都行),找到[mysqld],在该下面添加 default-time_zone = ‘+8:00’,然后保存。
- 重启mysql服务,在命令行窗口连接mysql,并使用 show variables like “%time_zone%”; 进行查看。
- 最后测试连接mysql数据库,测试连接成功!
注:default-time_zone=’+8:00’一定要放在[mysqld]的下面,否则会报: unknown variable ‘default-time_zone=+8:00’。
方法二是永久性的修改时区,开机或重启mysql服务后,重新连接数据库时就不会出现时区问题。
总结
这两种方法都行,之前一直使用方法一,每次开机后重新连接数据库都要重新修改一次时区,才能成功连接上,比较麻烦,后来就使用了方法二。个人还是推荐使用方法二,因为比较省事。