mysql8 servertime_MySql的时区(serverTimezone)引发的血案
前言
mysql8.x的jdbc升级了,增加了时区(serverTimezone)属性,并且不允许为空。
血案现场
配置jdbc的URL:jdbc:mysql://[IP]:[PORT]/[DB]?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true
应用运行一段时间后,发现数据库中登记的时间和正常的时间不一致。
查询表字段值:
而现在电脑的时间是:
问题排查
1、服务器时间不同步
使用命令:date,查看linux服务器时间
[root@abc ~]# date
Sat Mar7 18:43:30 CST 2020
服务器的机器时间没有问题
2、程序问题
uLog.setLogTime(new Date());
程序是使用的机器时间,不会有问题
3、数据库时间
查看数据库时间:select sysdate()
mysql>select sysdate();+---------------------+
| sysdate() |
+---------------------+
| 2020-03-07 18:48:01 |
+---------------------+
1 row in set
时间也是没有问题,最后考虑到jdbc增加了时区属性
问题根源
UTC是什么时区
不属于任意时区 。协调世界时,又称世界统一时间,世界标准时间,国际协调时间,简称UTC。
时区(Time Zone)是地球上的区域使用同一个时间定义。1884年在华盛顿召开国际经度会议时,为了克服时间上的混乱,规定将全球划分为24个时区。在中国采用首都北京所在地东八区的时间为全国统一使用时间。
例:已知东京(东九区)时间为5月1日12:00,求北京(东八区)的区时?北京时间=12:00-(9-8)=11:00(即北京时间为5月1日11:00)。
问题找到了,就是时区字段的问题
解决方法
修改jdbc时区,改成服务器所在地的真实时区
修改前:jdbc:mysql://[IP]:[PORT]/[DB]?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true
修改后:jdbc:mysql://[IP]:[PORT]/[DB]?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true
重启应用,发现时间是正确的
+---------------------+
| log_time |
+---------------------+
| 2020-03-07 19:04:06 |
| 2020-03-07 19:04:03 |
| 2020-03-07 19:04:03 |
| 2020-03-07 19:04:03 |
| 2020-03-07 19:04:03 |
| 2020-03-07 19:04:03 |
| 2020-03-07 19:04:02 |
| 2020-03-07 19:04:02 |
| 2020-03-07 19:03:51 |
| 2020-03-07 10:40:35 |
| 2020-03-07 10:40:35 |
| 2020-03-07 10:40:35 |
mysql8 servertime_MySql的时区(serverTimezone)引发的血案相关推荐
- mysql 时区时间_MySql的时区(serverTimezone)引发的血案
前言 mysql8.x的jdbc升级了,增加了时区(serverTimezone)属性,并且不允许为空. 血案现场 配置jdbc的URL:jdbc:mysql://[IP]:[PORT]/[DB]?c ...
- mysql timezone上海_MySql的时区(serverTimezone)引发的血案
前言 mysql8.x的jdbc升级了,增加了时区(serverTimezone)属性,并且不允许为空. 血案现场 配置jdbc的URL:jdbc:mysql://[IP]:[PORT]/[DB]?c ...
- 波涛汹涌的黄金甲,一碗中药引发的血案!
严重声明:网路转载 主要情节: 父王(周润发)说母后(巩利)身体虚寒,需要每天定时服用亲自配置的中药,已服用了几十年.而父王早就知道了母后和太子元祥(刘烨)之间的苟且之事,远征回宫后在其中药中加入一味 ...
- mysql backlog_一次优化引发的血案
前些天一个Nginx+PHP项目上线后遭遇了性能问题,于是打算练练手,因为代码并不是我亲自写的,所以决定从系统层面入手看看能否做一些粗线条的优化. 首先,我发现服务的Backlog设置过小,可以通过s ...
- 第三方账号登陆的过程及由此引发的血案
72agency · 2014/03/19 10:40 0x00 前言 第三方账号登陆也就是当你没有A网站的注册账号时,你可以使用该与A网站合作的第三方账号登陆A,在大多数情况下你会立即拥有与你第三方 ...
- 一个普通ERROR 1135 (HY000)错误引发的血案:
一个普通ERROR 1135 (HY000)错误引发的血案: 今天接到测试人员反应,测试环境前端应用程序无连接mysql数据库,登录mysql服务器,查看错误日志,发现有如下报错: 点击(此处)折叠或 ...
- 一次 Druid 连接池泄露引发的血案!
最近某个应用程序老是卡,需要重启才能解决问题,导致被各种投诉,排查问题是 Druid 连接池泄露引发的血案.. 异常日志如下: ERROR - com.alibaba.druid.pool.GetCo ...
- 线上 CPU100% 异常案例:一个正则表达式引发的血案
前几天线上一个项目监控信息突然报告异常,上到机器上后查看相关资源的使用情况,发现 CPU 利用率将近 100%.通过 Java 自带的线程 Dump 工具,我们导出了出问题的堆栈信息. 我们可以看到所 ...
- 一场由过滤器Filter引发的血案
一场由过滤器Filter引发的血案 事件起因 本来应该是下图的登录界面 变成了这样 What's the fuck????? 抓狂 原因 解决方法: 在过滤器中给资源文件开个绿色通道
最新文章
- php通过http请求发送数组
- 【必懂概念】一文详解什么是空洞卷积?
- 互联网日志的种类、存储和计算
- 开发应用层的需要了解 framework层吗?---不需要!!!!
- 移动端html5广告的优势,h5手机端开发的优势都有哪些呢
- 笔记:windows 2012 安装SQL 2008 群集报错
- (需要大神,请求解决,遇见runtime error 错误)poj 1009 java
- poj2406Power string
- Linux消息队列实现进程间通信
- 为谷歌浏览器Chrome安装鼠标手势插件
- iphone禁止自动连接wifi操作方法「苹果教程」
- 【原型】Axure基本入门
- 小能手英语口语学习笔记 2 发音规则-连读、略读、浊化
- 五大特色展区抢占C位,2019深圳国际全触与显示展引燃触控显示产业未来
- ab并发测试-Linux
- 团队作业1——团队展示
- Java子类与父类之间的对象转换
- paste shell 分隔符_Shell paste命令
- MySQL练习(一)
- c语言中错误为ffblk未定义,C - 错误没有定义和存储未知
热门文章
- 跳槽也不一定涨薪,2023,别再裸辞了····
- DCDC变换器设计与磁学基础
- 新增 Sitecore Rendering 组件
- Angular 组件接口之 ControlValueAccessor
- 使用代理连接外网服务器
- 画ROC为什么clf.predict_proba(X_train)[:, 1] 而不是[:,0]?
- xpath命令following-sibling用法
- 阿里“亲拍”出世,移动剪辑市场有什么好争的?
- 鐘明系列十三:『16阶类自然数可抹标准平方幻立方』(下)
- 2021云栖大会【视觉AI平台与生态论坛】线上直播等你来~