使用IDEA连接数据库发生Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezone' property manually. .错误提示,解决方法

一、查看数据库时区

show variables like'%time_zone';

mysql 配置文件修改时区(Mysql查看数据库时区并设置时区)(1)

如果显示下图,则需要设置时区

------------------ -------- | Variable_name | Value | ------------------ -------- | system_time_zone | | | time_zone | SYSTEM | ------------------ --------

mysql 配置文件修改时区(Mysql查看数据库时区并设置时区)(2)

二、设置时区

1.通过mysql命令行模式下动态修改

set global time_zone = ' 8:00';

mysql 配置文件修改时区(Mysql查看数据库时区并设置时区)(3)

设置为北京时间

刷新mysql权限

FLUSH PRIVILEGES

mysql 配置文件修改时区(Mysql查看数据库时区并设置时区)(4)

这样修改第二次重启依然没有改过来

2、通过修改配置文件来修改时区

修改配置文件my.ini

增加

default-time_zone = ' 8:00'

mysql 配置文件修改时区(Mysql查看数据库时区并设置时区)(5)

修改完如下,每个人的配置文件内容有差异,仅供参考

[mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录 basedir=C:\Program Files\mysql-8.0.16-winx64 # 设置mysql数据库的数据的存放目录 datadir=C:\Program Files\mysql-8.0.16-winx64\Data default-time_zone = ' 8:00' # 重启MySQL服务 /etc/init.d/mysqld restart # 允许最大连接数 max_connections=200 # 允许连接失败的次数。 max_connect_errors=10 # 服务端使用的字符集默认为utf8mb4 character-set-server=utf8mb4 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB # 默认使用“mysql_native_password”插件认证 #mysql_native_password default_authentication_plugin=mysql_native_password [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8mb4 [client] # 设置mysql客户端连接服务端时默认使用的端口 port=3306 default-character-set=utf8mb4

mysql 配置文件修改时区(Mysql查看数据库时区并设置时区)(6)

然后重启mysql服务,可以了

再次查询

mysql> show variables like'%time_zone'; ------------------ -------- | Variable_name | Value | ------------------ -------- | system_time_zone | | | time_zone | 08:00 | ------------------ -------- 2 rows in set, 1 warning (0.01 sec)

,