首页
首页
文章目录
  1. 简介
  2. 解决方法
    1. 1、检查mysql当前时间
    2. 2、检查mysql时区
    3. 3、解决方法一(通过mysql命令行模式下动态修改)
    4. 4、解决方法二(通过修改my.cnf配置文件来修改时区)
    5. 4、解决方法三(设置jdbcUrl,加入serverTimezone=UTC参数)

mysql插入的记录的时间与保存到数据库后的时间不一致处理方法

简介

今天公司一个程序猿问了我一个关于mysql数据库的问题,她说向数据库中输入的日期和数据库保存的日期相差14个小时。问我是不是时区问题。

解决方法

1、检查mysql当前时间

1
select curtime();   #或select now()

查看mysql时间

2、检查mysql时区

1
show variables like "%time_zone%";

2、检查mysql时区

3、解决方法一(通过mysql命令行模式下动态修改)

1
2
3
set global time_zone = '+8:00';  ##修改mysql全局时区为北京时间,即我们所在的东8区
set time_zone = '+8:00'; ##修改当前会话时区
flush privileges; #立即生效

4、解决方法二(通过修改my.cnf配置文件来修改时区)

1
2
# vim /etc/my.cnf  ##在[mysqld]区域中加上default-time_zone = '+8:00'
# /etc/init.d/mysqld restart ##重启mysql使新时区生效

4、解决方法三(设置jdbcUrl,加入serverTimezone=UTC参数)

1
jdbcUrl=jdbc\:mysql\://localhost\:3306/wos_refer?useUnicode\=true&characterEncoding\=UTF-8&serverTimezone=UTC
支持一下
扫一扫,我会更有动力更新
  • 微信扫一扫
  • 支付宝扫一扫