• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    解决MySQL8.0时区的问题步骤

    软件版本

    问题描述

    java将当前时间保存到MySQL数据库时,MySQL中的时间不正确

    问题分析

    原因一:java数据库连接使用UTC时区(世界标准时间),即serverTimezone=UTC

    url: jdbc:mysql://localhost:3306/test?serverTimezone=UTCuseUnicode=truecharacterEncoding=utf8useSSL=true
    
    

    原因二:MySQL使用的time_zone属性是+00:00,而北京时间比UTC时间早8小时,即UTC+08:00

    检查MySQL

    /**
     * 可查看全局的时区设置和会话的时区设置
     * global.time_zone负责java连接数据库时的时区设置
     * session.time_zone负责Navicat客户端连接数据库时的时区设置
     * /
    mysql> select @@global.time_zone,@@session.time_zone;
    
    /**
     * 还有一种方法
     * System代表采用系统时区
     * CST是一种很乱的时区,它包括了4个时区
     * /
    mysql> show variables like '%time_zone%'; 
    
    // 验证时区,这行命令可以检测session.time_zone是否正确配置
    mysql> select now();
    
    

    解决方法

    步骤一:修改java中的时区为东八区

    // serverTimezone可以设置为北京时间GMT%2B8、上海时间Asia/Shanghai或者香港时间Hongkong
    url: jdbc:mysql://localhost:3306/test?serverTimezone=Asia/ShanghaiuseUnicode=truecharacterEncoding=utf8useSSL=true
    

    步骤二:修改MySQL数据库的时区为东八区

    // 方法一:使用命令(优点:不需要重启MySQL服务,缺点:一旦MySQL服务被重启,设置就会消失)
    mysql> set time_zone = '+8:00';
    mysql> set global time_zone = '+8:00';
    // 方法二:修改my.ini配置文件(优点:永久保存设置,缺点:需重启MySQL服务)
    [mysqld]
    // 设置默认时区
    default-time_zone='+8:00'

    到此这篇关于解决MySQL8.0时区的问题步骤的文章就介绍到这了,更多相关MySQL8.0时区内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • mysql解决时区相关问题
    • 关于Java中的mysql时区问题详解
    • MySQL查看和修改时区的方法
    • MySQL修改时区的方法小结
    • 详解MySQL查询时区分字符串中字母大小写的方法
    • mysql时区问题
    上一篇:详解MySQL的sql_mode查询与设置
    下一篇:MySQL数据库重命名的快速且安全方法(3种)
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    解决MySQL8.0时区的问题步骤 解决,MySQL8.0,时区,的,问题,