前言

连接MySQL的时候动不动就提示个Server returns invalid timezone. Go to ‘Advanced‘ tab and set ‘serverTimezon
在这里插入图片描述
在这里插入图片描述
一般就是MySQL时区没设置,接下来教大家4种解决方法。

方法一:

1.检查MySQL设置时区:
Win+R打开运行
在这里插入图片描述
输入cmd然后确定,打开cmd窗口
在这里插入图片描述
连接数据库,输入mysql -hlocalhost -uroot -p回车输入密码
在这里插入图片描述
连接成功
在这里插入图片描述
输入show variables like'%time_zone';回车,显示时区配置
在这里插入图片描述
如果显示 SYSTEM 就是没有设置时区

输入set global time_zone = '+8:00';回车
在这里插入图片描述
显示Query OK, 0 rows affected (0.00 sec)就是设置成功了。

然后关闭cmd重新打开cmd重新连接数据库,连接成功后输入show variables like'%time_zone'; 回车
在这里插入图片描述
显示+08:00就可以了

这个时候重新连接数据库即可
点击Test Connection进行测试连接

连接成功
在这里插入图片描述

方法二:

修改MySQL配置文件 [my.ini]:
在这里插入图片描述
找到Mysql的安装目录,修改my.ini配置文件
比如我的路径是:
C:\ProgramData\MySQL\MySQL Server 8.0\my.ini

打开my.ini文件
在这里插入图片描述

在 [mysqld] 之下加

default-time-zone='+08:00'

或者

default-time-zone=timezone

!!!注意一定要在 [mysqld] 之下加 ,否则会出现 unknown variable 'default-time-zone=+8:00'

在这里插入图片描述

修改完了记得记得重启msyql

Win+X,选择Windows PowerShell(管理员)

在这里插入图片描述
停止mysql服务
在这里插入图片描述
启动mysql服务
在这里插入图片描述
重启完毕

打开cmd测试
登录mysql,输入show variables like’time_zone’;
在这里插入图片描述
time_zone显示为+08:00就修改成功了

第三种方法:

在IDEA中修改时区即可

在高级栏下,将serverTimeZoneUTC修改为GMT

点击 高级 /Advanced
在这里插入图片描述
找到serverTimezone,如果是UTC或者空的直接改为Asia/Shanghai

改完之后直接回车
在这里插入图片描述
点击 选项/General
在这里插入图片描述
点击 测试连接 /Test Connection

连接成功
在这里插入图片描述
方法四:

修改连接数据库的URL
修改serverTimezone后面的值为Asia/Shanghai

例如:

serverTimezone=Asia/Shanghai

完整:

url: jdbc:mysql://localhost:3306/test?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=true
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐