解决java.sql.SQLException:The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized问题

 更新时间:2024年03月05日 10:11:28   作者:喵喵@香菜  
这篇文章主要介绍了解决java.sql.SQLException:The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

在使用SpringBoot链接mysql数据库时遇到mysql时区问题,总结了三种方法

出现问题的环境

springBoot2.1.4+mysql数据库

出现问题的原因

SpringBoot2.1在没有指定MySQL驱动版本的情况下它自动依赖的驱动是8.0的版本,而在安装mysql数据库时一般都不会设置时区,系统默认的时区是美国,北京时间比美国时间晚8个小时。

所以出现了

The server time zone value ‘Öйú±ê׼ʱ¼ä’ is unrecognized …的问题。

解决办法总结

1)最low的办法,指定mysqlJDBC的低版本驱动。

如下:

<dependency>
   <groupId>mysql</groupId>
   <artifactId>mysql-connector-java</artifactId>
   <version>5.1.28</version>
   <scope>runtime</scope>
</dependency>

使用maven的这样,手动导包的可直接导入低版本的jar包(手动导入后记得buildpath,并且删除不合适的版本)。

2)修改mysql配置文件;安装mysql默认路径一般都是在c盘,例如我的路径是:C:\Program Files\MySQL\MySQL Server 5.6,有一个my.ini(或者my-default.ini) 的配置文件。

打开配置文件修改如下(添加 default-time-zone=’+08:00’):

3)推荐使用第三种:将jdbcurl连接设置时区;

spring.datasource.jdbc-url: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8

如果是在代码中耦合的,直接改代码中的地址即可

4)使用cmd:(安装mysql默认会将mysql配置到环境变量的path从而可以执行cmd命令) 使用mysql命令登录mysql

mysql -uroot -p******

登录成功后输入show variables like ‘%time_zone%’;

这里的system是系统默认的时区,即美国时间

输入 set global time_zone=’+8:00’; (输入完毕后进行检查)再次输入show variables like ‘%time_zone%’;

(ps;不一定成功,我自己测试没有成功,选择的配置jdbcurl的办法)

总结

这四种办法总有一种可以成功,以前的版本的没有时区问题,遇到了就总结下来了。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • java正则替换img标签中src值的方法

    java正则替换img标签中src值的方法

    今天小编就为大家分享一篇java正则替换img标签中src值的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • java中用float时,数字后面加f,这样是为什么你知道吗

    java中用float时,数字后面加f,这样是为什么你知道吗

    这篇文章主要介绍了java用float时,数字后面加f,这样是为什么你知道吗?具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • IDEA强制清除Maven缓存的方法示例

    IDEA强制清除Maven缓存的方法示例

    这篇文章主要介绍了IDEA强制清除Maven缓存的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • 谈谈对Java中的volatile的理解

    谈谈对Java中的volatile的理解

    这篇文章主要介绍了对Java中的volatile的理解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • MyBatis-Plus通用CRUD操作的实现

    MyBatis-Plus通用CRUD操作的实现

    MyBatis-Plus是基于MyBatis的增强工具,主要目的是简化MyBatis的使用并提升开发效率,它提供了通可以用CRUD操作、分页插件、多种插件支持、自动代码生成器等功能,感兴趣的可以了解一下
    2024-10-10
  • 教你如何使用idea管理docker

    教你如何使用idea管理docker

    其实idea也提供了docker的管理功能,比如查看容器列表,启动容器,停止容器等,本文来看下如何管理本地的docker daemon和远程的dockers daemon,感兴趣的朋友跟随小编一起看看吧
    2024-05-05
  • spring-cloud-gateway降级的实现

    spring-cloud-gateway降级的实现

    这篇文章主要介绍了spring-cloud-gateway降级的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • Java 如何使用正则表达式去除前导0

    Java 如何使用正则表达式去除前导0

    这篇文章主要介绍了Java 使用正则表达式去除前导0的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • Java并发编程示例(五):线程休眠与恢复

    Java并发编程示例(五):线程休眠与恢复

    这篇文章主要介绍了Java并发编程示例(五):线程休眠与恢复,在本节,我们将开发一个程序,使用sleep()方法来实现每秒钟打印一次当前时间,需要的朋友可以参考下
    2014-12-12
  • 通过FeignClient如何获取文件流steam is close问题

    通过FeignClient如何获取文件流steam is close问题

    这篇文章主要介绍了通过FeignClient如何获取文件流steam is close问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06

最新评论