数据库连接时出现The server time zone value ‘Öйú±ê׼ʱ¼ä’ is unrecognized问题

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

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格式

解决:
  1. 方法一:在连接的url后面加上serverTimezone=GMT即可解决问题,如果需要使用gmt+8时区,需要写成GMT%2B8,否则会被解析为空。
  • 示例:
    java jdbc:mysql://localhost:3306/springbootdemo?serverTimezone=GMT%2B8
  1. 方法二:直接修改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的时区
    
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值