当前位置: 代码迷 >> 综合 >> jdbc连接mysql出现:The server time zone value '???ú±ê×??±??' is unrecognized or represents more than one
  详细解决方案

jdbc连接mysql出现:The server time zone value '???ú±ê×??±??' is unrecognized or represents more than one

热度:112   发布时间:2023-11-17 21:42:54.0

jdbc连接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.

这个错误主要是时区问题导致的,解决办法:

方法一:修改mysql

命令行修改时区:

# 查看时区
show variables like '%time_zone%';
# 设置mysql全局时区为北京时间,即我们所在的东8区
set global time_zone='+8:00';

但是这样修改后,在重启mysql还是会出现刚才的错误,可以把时区设置到配置文件中,或者使用方法二。

mysql配置文件修改时区:
使用命令vi /etc/my.cnf 打开mysql配置文件, 在[mysqld]区域中加上以下配置:

default-time_zone = '+8:00'

有的mysql配置文件并不在 /etc/my.cnf 下,就需要到对应目录修改了。

方法二:修改连接信息

在原来的参数“url”后面,加上:?serverTimezone=GMT%2B8
例如:

jdbc:mysql://localhost:3306/activity?serverTimezone=GMT%2B8

GMT%2B8,即GMT+8,表示东八区

  相关解决方案