报错:
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.
分析:
其实报错的提示信息很清楚:
服务器时区价值”Oйu±e×¼e±¼的识别或代表多个时区。如果您想利用时区支持,您必须配置服务器或JDBC驱动程序(通过serverTimezone配置属性)来使用更具体的时区值。
这是由于数据库和系统时区差异所造成的,因为安装mysql的时候时区设置的不正确 mysql默认的是美国的时区,而我们中国大陆要比他们迟8小时,采用+8:00格式
解决:
- 方法一:在连接的url后面加上serverTimezone=GMT即可解决问题,如果需要使用gmt+8时区,需要写成GMT%2B8,否则会被解析为空。
- 示例:
java jdbc:mysql://localhost:3306/springbootdemo?serverTimezone=GMT%2B8
- 方法二:直接修改MySQL配置文件来修改MySQL的时区
打开MySQL的安装目录(笔者是:C:\ProgramData\MySQL\MySQL Server 8.0),找到MySQL配置文件my.ini,用任意文本编辑器打开,在 [mysqld] 这个节点下增加default-time_zone = '+8:00'添加默认时区

- 然后记得重启MySQL的服务,打开cmd窗口登录MySQL执行
show variables like '%time_zone%';这句命令

-- 以管理员方式运行cmd窗口 net start mysql80-- 打开数据库 net stop mysql80-- 关闭数据库 mysql -u 用户名 -p --连接数据库,回车输入密码 show variables like '%time_zone%';-- 查看MySQL的时区

本文详细解析了MySQL时区配置错误的原因及解决方案,包括通过URL参数调整时区和修改MySQL配置文件两种方法。
1691

被折叠的 条评论
为什么被折叠?



