连接数据库时出现以下异常
java.sql.SQLException: The server time zone value '?й???????' is unrecognized
原因: 是由于我们默认的时区比东八区少了八个小时。
解决方案:(三种方法,推荐第三种一次性解决)
-
修改mysql的系统时区,多加8个小时。
我在SQLyog小海豚中输入的命令:
select now(); #查看mysql系统时间。和当前时间做对比
set global time_zone = '+8:00'; #设置时区更改为东八区
flush privileges; #刷新权限
- 在使用的项目中,设计到数据库的信息时,在url中 加入:?serverTimezone=GMT%2B8
例如:jdbc:mysql:///java?serverTimezone=GMT%2B8
- 修改my.ini配置文件
3.1 - 先找到该配置文件,安装默认位置为(可复制粘贴在我的电脑中试一下能不能打开):C:\ProgramData\MySQL\MySQL Server 8.0\my.ini
3.2 - 打开文件后直接在文件末尾添加如下代码:default-time_zone = '+8:00'
3.3 - 重启mysql服务