IDE连接MySQL报错:Server returns invalid timezone. Go to ‘Advanced‘ tab and set ‘serverTimezone‘ property

IDE连接MySQL报错:

Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezone' property manually.

意思就是:服务器返回无效时区。转到“高级”选项卡并手动设置“serverTimezone”属性。

百度之后找到问题的答案,自己尝试解决,发现个别地方有坑,谨记于此。

本人MySQL版本:

mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.21    |
+-----------+

这个问题的原因是MySQL的时区属性属于SYSTEM的,我们连接IDE时需要设置指定某一个时区。下面我们设置MySQL的时区,按照步骤操作如下:

1.配置mysql环境变量

通过mysql命令行工具,或者配置好mysql的系统变量path后即可使用命令查看时区的属性。配置方法就是在系统变量中点击path添加mysql的安装路径,比如我的:C:\Program Files\MySQL\MySQL Server 8.0\bin。

切记:不要配置成用户变量中path的mysql路径,一定是安装路径,即MySQL Server这个目录下的。这个容易被坑。

2.连接mysql

配置好之后打开cmd,输入:

mysql -hlocalhost -uroot -p
// 或者
mysql -uroot -p

切记:-h和localhost之间没有空格,-u和root之间也没有空格,-p之后米有分号。

如果输入正确会提示输入密码,结果如下:

 

3.查看时区属性:

show variables like'%time_zone';

切记:like和后面的单引号不能有空格,是相连的,结尾有分号。单引号换做双引号也可以,模糊匹配最后也可以加一个百分号,效果都一样。下图是显示结果:

system_time_zone和time_zone都是SYSTEM,下面我们要设置指定的东八区时区。

4.设置时区

set global time_zone = '+8:00';

不少文章写到这里就结束了,直接会显示时区变成了东八区,而实际上却不是这个样子的,也可能是mysql版本的区别。我在第四步操作完,只是有如下提示:

切记:结尾有分号。

5.刷新权限

第四步结束之后还需要刷新权限:

flush privileges;

至此,基本完成。可以查看时区(第三步)看一下结果,如果出现如下结果:

则证明设置成功,如果还是显示SYSTEM,那么关闭命令行窗口,重启,再查看就ok了。

这个时候去IDE重新连接mysql就ok了。

 

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北冥牧之

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值