软件版本

  • Windows:Windows10
  • MySQL:mysql-8.0.16-winx64.zip

问题描述

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

问题分析

  • 原因一:java数据库连接使用UTC时区(世界标准时间),即serverTimezone=UTC
url: jdbc:mysql://localhost:3306/test?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=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/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=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时区的问题相关推荐

  1. mysql8时区设置_解决MySQL8.0时区的问题步骤

    软件版本 Windows:Windows10 MySQL:mysql-8.0.16-winx64.zip 问题描述 java将当前时间保存到MySQL数据库时,MySQL中的时间不正确 问题分析 原因 ...

  2. 解决MySQL8.0报错:Unknown system variable 'validate_password_policy'

    解决MySQL8.0报错:Unknown system variable 'validate_password_policy'   一.问题描述 1.在安装MySQL8.0时,修改临时密码,因密码过于 ...

  3. mysql8修改密码之后无法登陆_解决MySQL8.0安装第一次登陆修改密码时出现的问题...

    下面给大家介绍下mysql 8.0.16 初次登录修改密码 mysql数据库初始化后初次登录需要修改密码 初次登录会碰到下面这个错误 ql> alter user root identified ...

  4. 解决mysql8.0登录验证失败的问题

    解决mysql8.0登录验证失败的问题 很多用户在安装新版的mysql8.0版本时,在其他的mysql工具登录,出现"Authentication plugin 'caching_sha2_ ...

  5. 【seata系列】centos服务器带你踩坑搭建seata以及解决MySQL8.0无法启动问题

    目录 准备 配置 registry.conf file.conf 创建相关表和数据库 启动 踩坑 运行 准备 通过github下载安装包:https://github.com/seata/seata/ ...

  6. mysql 8.0认证失败_解决mysql8.0因密码认证插件导致的链接不上

    简介 今天在迁移zabbix的数据库,每次链接到自己的mysql都报错, mysqlAuthentication plugin 'caching_sha2_password' cannot be lo ...

  7. JDBC连接时所犯错误1.字符集设置不合适2.连接MySQL8.0社区版时时区不一致3..包名不能以Java.命名4.驱动被弃用

    Microsoft JDBC Driver 的主页为:https://msdn.microsoft.com/en-us/data/aa937724.aspx 下载所需驱动 今天连接时报了四次错,记录下 ...

  8. Mysql8.0.16 连接包报错解决方法

    Mysql8.0.16 连接包报错解决方法 Mysql8.0 .16连接包报错: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized o ...

  9. mysql8.0.18ZIP版下载与安装(以及无my-default.ini文件和data文件夹的解决方法)

    mysql8.0.18ZIP版下载与安装(以及无my-default.ini文件和data文件夹的解决方法) 参考文章: (1)mysql8.0.18ZIP版下载与安装(以及无my-default.i ...

最新文章

  1. 盛大 牛人 blog
  2. 使用内部类隐藏实现细节
  3. java listfiles 使用_Java中list()和listFiles()方法之间的区别
  4. putty 中文乱码
  5. python查询天气
  6. 语音媒体和信令的测试软件,IP多媒体子系统信令分析工具的设计与实现
  7. 多线程实现的4中方法
  8. Linux下MySQL server和client安装
  9. SQL Server-【知识与实战VIII】触发器(中)
  10. DirectX SDK 安装时出现错误 [Error Code:S1023] 的解决方案
  11. Java通过cad图生成3d模型,将CAD图纸转换为SolidWorks三维模型
  12. jensen不等式(jensen不等式对于凹函数)
  13. 11:Hive从0到1系列学习:函数之常用的内置函数
  14. java多线程之Guarded Suspension模式
  15. 【Vue】图片加载中显示Loading
  16. 简单实现dom4j解析xml
  17. 如何编辑图片上的文字?在线图片去字工具怎样使用?
  18. 市占率第一,是vivo的起点还是终点?
  19. 数据结构二叉排序树的查找
  20. C语言小游戏:文字冒险游戏

热门文章

  1. js 字符串替换的坑(v1)
  2. 小程序弹窗禁止背景滑动
  3. 骨传导耳机是什么原理?骨传导耳机与入耳式耳机的区别
  4. SQL一个表中多个字段对应另一个表的同一字段
  5. 什么是用户story?
  6. JavaScript简餐——函数尾调用优化
  7. ~【笔记】黑马js高级和尚硅谷ES6笔记(部分)~
  8. android系统在后台消耗电量,手机后台耗电量过大怎样关闭?
  9. Qt Design Studio的3D编辑器
  10. 青龙面板每日签到-DailyCheckIn版本【图文教程】