IDEA连接数据库时区问题,报红Server returns invalid timezone. Need to set ‘serverTimezone‘ property.

Posted 破风_1874

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IDEA连接数据库时区问题,报红Server returns invalid timezone. Need to set ‘serverTimezone‘ property.相关的知识,希望对你有一定的参考价值。

目录

1、IDEA连接数据库步骤

1)点击IDEA右侧栏目的 “Database”。

2)点击 “+”,“Data Source” >> “mysql”。

3)填写用户名 “User”、密码 “Password” 、数据库名称 “Database”,最后点击 “Test Connection” 测试连接 。

此时报红:

如图:

出现这种情况,是因为MySQL驱动的jar包中的默认时区是UTC。
UTC代表的是全球标准时间 ,但是我们使用的时间是北京时区也就是东八区,领先UTC八个小时。
因为时区的不一致,返回了无效的时区,接下来,我们以 idea 2020.2.3 为例,来解决一下问题。

2、时区不一致问题解决

2.1 解决方法一:手动设置 “serverTimezon" 属性值

1)点击 “Set time zone”,跳转到 “高级” 标签中手动设置 “serverTimezon" 属性值。

2)修改默认的 “UTC” 为 “GMT”,记得点击 “Apply” 才能生效。

3)回到 “General” 重新输入数据库密码,再次点击 “Test connect” 尝试连接数据库,会发现连接成功。

2.2 解决方法二:URL 中添加时区设置

直接在 URL 后面添加 “?serverTimezone=GMT%2B8” ,然后再点击 “Test connection” 进行连接测试,会发现成功连接上数据库。

2.3 解决方法三:以管理员身份运行命令提示符(cmd),设置mysql的时区

1)进入命令窗口(Win + R)输入cmd,再进入到本地的 MySQL 的 bin 路径下, 输入如下命令:

 mysql -u root -p

正确输入密码,连接上数据库。

2)继续输入如下命令:

show variables like '%time_zone';

显示为 SYSTEM ,表示没有设置时区:

3)接下来,进行时区设置,输入如下命令:

set time_zone = '+8:00';

成功设置时区:

4)在 idea 中重新连接数据库,成功连接上。

IDEA连接mysql又报错!Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTime

错误界面

IDEA连接mysql,地址,用户名,密码,数据库名,全都配置好了,点测试连接,咔!不成功!

界面是这样的,

 

 

 

翻译过来就是:服务器返回无效时区。进入“高级”选项卡,手动设置“serverTimezone”属性。

看起来是时区出了问题。时区怎么会出问题?坑真多。网上搜了各种解决办法,琳琅满目,复杂的简单的,总算是解决了!

解决方案
我的问题出在两块,第一,设置mysql的时区。第二,mysql驱动的版本。详细步骤如下:

第一,设置mysql时区。
1,我们先来检查下mysql时区。

 

 

配置完环境变量,就可以在命令窗口直接执行下面的命令啦!

进入命令窗口(Win + R),连接数据库 mysql -hlocalhost -uroot -p,回车,输入密码,回车,如图:

 

 

 

2,继续输入 show variables like\'%time_zone\';    (注意不要漏掉后面的分号),回车,如图:

 

 

 

显示 SYSTEM 就是没有设置时区啦。

3,现在我们来设置时区。

输入set global time_zone = \'+8:00\';  注意不要漏掉后面的分号),回车,如图:

 

 

 

这便是设置成功啦!

这时你重新连接下数据库,也许能连接成功!如果没有,就继续往下走!

第二,同步mysql驱动。

我本机安装的mysql版本是5.7的,那么IDEA要连接mysql也应该匹配下驱动版本。把Driver改成MySQL for 5.1就可以了

 

 

 在点击Test Connection测试下,成功啦!

 

 

【补充】

如果,你选的是MySQL,

数据库又是其他版本的,也没关系。

在驱动列表里找到 MySQL ,右边Driver files 里,选择一下你需要的版本,保存就可以了。

 

 

以上是关于IDEA连接数据库时区问题,报红Server returns invalid timezone. Need to set ‘serverTimezone‘ property.的主要内容,如果未能解决你的问题,请参考以下文章