首页 > 数据库 >Mysql时间差8小时解决方案

Mysql时间差8小时解决方案

时间:2024-04-10 10:45:41浏览次数:24  
标签:JDBC 解决方案 Mysql 时间差 修改 时间 MySQL 时区

在开发中,有可能会遇到这种情况:   插入数据库中的时间时正常。 但是将时间传到前端页面上显示时,会早8个小时。 这个问题我们可以从两方面来分析:   MySQL 本身的问题。 JDBC 连接的问题。

  1. MySQL 本身的问题
1-1. 验证MySQL时间 首先,我们执行如下 SQL 看看 MySQL 上的时间跟我的电脑时间是否是一致的: 如果 MySQL 的这个时间跟系统的时间差了 8 小时,MySQL 本身的时间都不对,那你将来插入/查询的时间肯定也不对。 出现这个问题,多半是 MySQL 的时区不太对,我们重新给其设置一下时区即可。  

1-2. 修改Mysql时区

show '%time_zone%';
  • 可以看到,MySQL 说它的时区是 SYSTEM
  • 那 SYSTEM 又是啥呢?第一条说了 SYSTEM 是 UTC(协调世界时,又称世界标准时间或世界协调时间)。
  • 而我们的北京时间比 UTC 快了 8 小时,即 UTC+8

配置文件修改Mysql时区

 
Mysql安装目录,修改my.ini文件
  Linux 找到/etc/mysql/mysql.conf.d/mysqld.cnf修改 修改完成后,重启MySQL,再来查看 MySQL 的时区

SQL修改Mysql时区

通过 SQL 来修改时区: set time_zone='+8:00';   注意我们所在的时区是东八区

2.JDBC 连接的问题

当确认了 MySQL 没有问题后,如果你的 MySQL 时间还是不对,那么就有可能是 JDBC 连接的问题了。   JDBC 连接设置参数:serverTimezone=Asia/Shanghai   JDBC 连接参数中的时区优先级高于 MySQL 服务器的时区参数,所以这个连接参数大家也要尤其注意 :://

标签:JDBC,解决方案,Mysql,时间差,修改,时间,MySQL,时区
From: https://www.cnblogs.com/lvjinlin/p/18125528

相关文章

  • windows MYSQL解决中文乱码问题
    windowsMYSQL解决中文乱码问题1.首先确保你已经把mysql配置了环境变量2.打开window终端3.输入mysql-uroot-p4.输入密码,就是安装的时候设置的root超级管理员权限密码5.输入:SHOWVARIABLESLIKE‘character%’; 出现上图,说明就会出现中文乱码问题。6.该怎么办呢,接......
  • 探索数据背后的强劲引擎MySQL(1):Windows安装MySQL
    该文章Github地址:https://github.com/AntonyCheng/mysql-notes【有条件的情况下推荐直接访问GitHub以获取最新的代码更新】在此介绍一下作者开源的SpringBoot项目初始化模板(Github仓库地址:https://github.com/AntonyCheng/spring-boot-init-template【有条件的情况下推荐......
  • 探索数据背后的强劲引擎MySQL(2):Linux安装MySQL
    该文章Github地址:https://github.com/AntonyCheng/mysql-notes【有条件的情况下推荐直接访问GitHub以获取最新的代码更新】在此介绍一下作者开源的SpringBoot项目初始化模板(Github仓库地址:https://github.com/AntonyCheng/spring-boot-init-template【有条件的情况下推荐......
  • 无主之地2缺失nvtt.dll怎么解决?无主之地2缺失nvtt.dll问题的原因分析及高效解决方案
    很多玩家在玩无主之地2这款游戏的时候遇到了nvtt.dll文件缺失的问题,那么是什么原因造成的呢?应该怎么解决呢?下面一起来看看吧!一、原因1.未正确安装游戏:•游戏在安装过程中可能由于网络问题、安装文件损坏、安装程序故障等原因,导致部分必要文件(如nvtt.dll)未能正确复制到游戏......
  • MySQL基础操作
    目录一、用户管理1、创建用户2、查看用户3、删除用户4、修改密码二、权限管理1、赋予权限2、查看权限3、收回权限三、复制表结构和数据四、数据库操作1、创建数据库2、查看该数据库基本信息3、删除数据库4、查看MySQL中所有的数据库5、将数据库的字符集修改为gbk6、查看当前使用的......
  • mysql中将where条件中过滤掉的group by分组后查询无数据的行进行补0
    背景mysql经常会用到groupBy来进行分组查询,但也经常会遇到一个问题,就是当有where条件时,被where条件过滤的数据不显示了。例如我有一组数据:我想查询创建时间大于某一范围的spu的分组下的sku的数量正常的sql查出的话,假如不存在相关记录SELECTproduct_id,count(*)countF......
  • 2-2、dockerfile之php-fpm,mysql
    dockerfile之php-fpm#cddocker-training/php-fpm/#lsDockerfilenginx_nginx.confsupervisor_nginx.confnginx_default.confphp_www.confsupervisor_php-fpm.conf各文件解释:nginx_nginx.conf替换默认的nginx.conf文件nginx_default.conf替换默......
  • MySQL的基础操作(二)
    目录一.数据库约束1.主键约束(PrimaryKey)2.唯一约束(Unique)3.外键约束(ForeignKey):4.检查约束(Check)5.默认约束(Default)二.聚合查询1.简单聚合函数2.GROUPBY子句3.HAVING子句三.联合查询1.内连接2.左连接3.右连接4.子查询5.合并查询一.数据库......
  • MySQL的基础操作
    目录一.数据库的操作1.显示当前的数据库2.创建数据库3.删除数据库4.选择数据库补充:二.表的基础操作1.常用数据类型:2.查看表结构3.创建表4.删除表三.表的增删改查1.新增(Create)2.查询(Retrieve)3.修改(Update)4.删除(Delete)一.数据库的操作1.显示当前的数据库......
  • MYSQL五个常见的聚合函数
    学生表DDLCREATETABLE`student`(`id`int(11)NOTNULLAUTO_INCREMENTCOMMENT'学号',`createDate`datetimeDEFAULTNULL,`userName`varchar(20)DEFAULTNULL,`pwd`varchar(36)DEFAULTNULL,`phone`varchar(11)DEFAULTNULL,`age`tinyi......