编程访问Mysql数据库时,报出时区错误如下:

The server time zone value 'й' is unrecognized or represents more than one time zone

通常有以下两种解决方法:

第一,在数据库连接语句后添加?serverTimezone=UTC,即默认0时区,但是要注意,该语句需要跟在数据库连接语句的第一个位置,否则会报错,例如:

jdbc.url=jdbc:mysql://localhost:3306/testdatabase?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8

但是这会存在一个问题,在向数据库插入时间字段时,时间会比当前时间早8小时,即当前系统时间减8小时。

第二,修改Mysql的时区为东8区,执行如下命令即可:

set global time_zone='+8:00'