Mysql时区问题导致报错

本文详细介绍了在使用SpringBoot集成Mysql时遇到的时区错误问题,并提供了两种有效的解决办法:一是在数据库连接中添加时区参数,二是直接在数据库中设置时区。通过这些方法可以避免因时区问题导致的应用程序错误。
摘要由CSDN通过智能技术生成

Spring boot集成的Mysql启动出现报错:

java.sql.SQLException: 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.
 

出现该报错其实是数据库时区问题导致的,也就是时间问题。

 

解决该问题有两个方案:一个是在连接中加上参数指定时区,另外一个是直接在数据库中设置即可。

第一个方案、链接时直接加入参数:

在数据库名?后面加入该参数即可:serverTimezone=GMT%2B8&

注意事项:注意最好在数据库名?后面直接加入,如放入到后面,参数可能无法生效。

 

第二个方案、在数据库中修改:


#查看当前时区
show variables like "%time_zone%";

set global time_zone = '+8:00'; ##修改mysql全局时区为北京时间,即我们所在的东8区
set time_zone = '+8:00'; ##修改当前会话时区
flush privileges; #立即生效

#或通过修改my.cnf配置文件来修改时区
# vim /etc/my.cnf ##在[mysqld]区域中加上
default-time_zone = '+8:00'
# /etc/init.d/mysqld restart ##重启mysql使新时区生效

 

以上两个方案都能解决报错问题.

 

补充:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值