时区问题:

com.mysql.cj.core.exceptions.InvalidConnectionAttributeException: 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-connector-java的版本问题,6.0+的版本。写入数据时,这个版本会自动根据,传入时间的时区和mysql的时区,自动把时间进行调整。

解决方法:

调整MYSQL时区:

查看mysql当前时间和时区:

1.查看mysql当前时间,当前时区:

select curtime();
show variables like "%time_zone%";

time_zone说明mysql使用system的时区,system_time_zone说明system使用CST时区

2.解决:
方法一(这种方法,不需要重启mysql,但是重启mysql,需要再次设置):

set global time_zone = '+8:00';
set time_zone = '+8:00';
flush privileges;

方法二:

在配置文件中添加以下行:

default-time_zone = '+8:00'

参考资料:MYSQL Doc



登录权限问题:

mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1130 (HY000): Host 'xxx.xxx.xxx.xxx' is not allowed to connect to this MySQL server


-- 查看现有用户,密码及允许连接的主机

SELECT User, Password, Host FROM user;

-- 设置所有地址均可使用root用户连接数据库

update user set host=’%’ where user=’root’; 

--刷新

flush privileges;