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,表示东八区