Mysql 时区设置

  • 1、问题说明
  • 2、方法一
  • 3、方法二

1、问题说明

在用IDEA 连接MySQL时,账号密码都正确,但连接错误,且报错误

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

Mysql 时区设置解决-编程知识网
该问题出现过几次错误了,此处在这里记录一下错误且解决方法,对于后续在遇到问题可以有效地找到且帮助各位编程的小伙伴们。

2、方法一

  1. 快捷键 win+R 输入cmd ,打开命令行窗口(或直接打开mysql的终端窗口)
  2. 连接mysql数据库,输入mysql -u root -p 回车,然后输入密码。
  3. 输入命令show variables like “%time_zone%”;(注意分号结尾)
	show variables like “%time_zone%; 

此时你可以看到MySQL时区是系统默认时区,采用格林时间,比我们东八区的时间慢8小时,因此我们需要设置时区,将其改为我们东八区的时间
Mysql 时区设置解决-编程知识网
4. 设置时区,输入 set global time_zone = ‘+8:00’; 回车,然后退出重启(一定记得重启,不然查找不到跟新的时间值)

	set global time_zone =+8:00;
  1. 再次检查mysql时区,输入show variables like “%time_zone%”; 回车,出现如下图所
    Mysql 时区设置解决-编程知识网
    输入select now(); 也可以查看修改时区是否成功,此时你可以看到与本地时间一致。
    Mysql 时区设置解决-编程知识网
  2. 在进入IDEA 连接MySQL即可连接成功。
    Mysql 时区设置解决-编程知识网

方法一 虽然可以解决这个问题,但是他不够持久 在下次开机使用时又可能会出现问题,方法一
只适合临时解决问题。如果想要一劳永逸的解决他,建议使用方法二。

3、方法二

找到你MySQL的安装目录(如果不记得安装在哪 可以输入show variables like “%char%”; 查看),
Mysql 时区设置解决-编程知识网

在其my.ini文件且打开它,找到 mysqld,在该下面添加 default-time_zone = ‘+8:00’,然后保存。

default-time_zone = ‘+8:00’

Mysql 时区设置解决-编程知识网

此时再来登录MySQL查看系统时间可发现已是本地时间;
Mysql 时区设置解决-编程知识网