zoukankan      html  css  js  c++  java
  • JDBC driver连接MySQL运行报错The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than

    出错原因:

    因为安装mysql的时候时区设置的不正确。 mysql默认的是美国的时区,而我们中国大陆要比他们迟8小时,采用GMT+8:00格式。

    也就是说是数据库和系统时区差异所造成的。

    验证:运行cmd登录mysql,控制台输入:

     

    show variables like '%time_zone%';

    如果显示SYSTEM则是时区有问题,有两个解决方法:

    解决方法一:

    在jdbc连接的url后面加上serverTimezone=GMT即可解决问题,如果需要使用gmt+8时区,需要写成GMT%2B8。

    1.1

    按照网上的教程,我第一次是在数据库后面加上(没有引号):"?serverTimezone=GMT+8"

    报错:java.sql.SQLException: No timezone mapping entry for 'GMT 8' ; 

    1.2

    后来又查到,需要将+改成%2B,"?serverTimezone=GMT%2B8"就可以了:

     1.3 

     有大神提到:如果把数据库时区改了,那么插入数据库的时间都会自动减8小时。(暂时还没有用到)

    解决方案:比如是SpringBoot2.0,在jdbc配置上加了一个&serverTimezone=UTC就行了。

    解决方法二:

    修改MySQL的配置文件,MySQL配置文件是my.ini文件在你的安装目录下去找,我的是C:webmysql-8.0.13my.ini

    用记事本打开,在[mysqld]节点后面加上这句话:

    default-time-zone='+08:00'

    再次运行:

    show variables like '%time_zone%';

    显示+8:00就成功了:

     此时不用在写?serverTimezone=GMT%2B8都可以运行成功。

  • 相关阅读:
    SSIS数据同步实践
    不同实例下同构表数据同步验证
    Performance Analysis of Logs (PAL) Tool
    scrapy框架_3持久化存储
    scrapy框架_2数据解析案例_最新糗事百科案例
    scrapy框架_简单基础命令操作
    Selenium 模块3经典案例_规避检测_js写入破解服务器Selenium识别 模拟登陆12306登陆
    Selenium 模块2_iframe处理_动作链
    Selenium 模块
    Flask_模板
  • 原文地址:https://www.cnblogs.com/JohnTeslaaa/p/10334679.html
Copyright © 2011-2022 走看看