zoukankan      html  css  js  c++  java
  • JDBC/Mybatis连接数据库报错:The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone.

    造成这个的原因是maven导入MyBatis的时候会自动导入最新版本的8.0.11,然后8.0.11采用了新驱动,之前版本会报错。

    当我们使用高版本的MySQL驱动时可以在获取数据库的连接getConnection()的url后面加上serverTimezone=GMT。

    修改数据库连接url:jdbc:mysql://test?&serverTimezone=GMT。但是没有解决我的问题!

    我解决的办法是:修改数据库的默认时区

    1、登录mysql数据库

    2、执行如下sql,没有设置之前value的值是system,因为我已经修改了,所以显示的是+08:00

    show variables like '%time_zone%';

     3、使用如下sql修改默认时区:

    set global time_zone = '+8:00';

    4、退出重新登录,查看当前时间,和当前时间做比较,发现修改成功

    select now();

    问题得到解决!

    还有一种解决办法是:使用低版本的MySQL jdbc驱动5.1.28,低版本的不会存在时区的问题。但是使用低版本的驱动的话会有如下异常:

    java.sql.SQLException: Unknown system variable 'query_cache_size'

    这个异常是因为:query cache在MySQL5.7.20就已经过时了,而在MySQL8.0之后就已经被移除了。

    所以这种解决办法还是行不通!

  • 相关阅读:
    最长上升序列,首尾连接
    带权并查集&&并查集
    开发者的小天地-1
    Binary Tree Maximum Path Sum
    Linked List Cycle II
    动归熟手题单
    java 正则表达式-忽略大小写与多行匹配
    KO之tab栏切换
    Vue中通过属性绑定为元素绑定style
    Vue中通过属性绑定为元素设置class
  • 原文地址:https://www.cnblogs.com/syq816/p/12761744.html
Copyright © 2011-2022 走看看