com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value异常解决方案

一.异常信息

在连接数据库时,突然出现了异常异常信息: 

Caused by: com.mysql.cj.exceptions.InvalidConnectionAttributeException: 
The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.
...
...

也就是说,出现了mysql的无效连接属性异常:服务器时区值无法辨认或表示多个时区,如果你想使用时区支持,你必须通过服务器时区配置属性来配置服务器或JDBC驱动从而使用更具体的时区值。

二.异常原因

这是因为 mysql升级到8.0及以上,添加了许多新特性,安全性也得到提升。当然操作时也增加了些繁琐,需要考虑到的时区问题便是其中之一。

三.解决办法

1.通过配置JDBC驱动的连接字符串:

即配置url参数中的serverTimezone属性来解决异常,需要在连接字符串 url 后加上 serverTimezone=UTC.

2.服务器默认时区跟随系统时区。通过服务器时区配置属性来配置服务器的时区。

2.1 查看当前mysql系统时间

select now();

2.2 查看当前mysql区时

show variables like "%time_zone%";

2.3 修改mysql时区

//修改mysql全局时区为东八区,即表示北京时间

set global time_zone = '+8:00';

flush privileges;

//时区修改生效之后,再次查询mysql时区

show variables like "%time_zone%";

 

  • 26
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 13
    评论
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

一一哥Sun

您的鼓励是我继续创作的动力哦

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

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

打赏作者

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

抵扣说明:

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

余额充值