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????? 抓狂 原因 解决方法: 在过滤器中给资源文件开个绿色通道
最新文章
- 关于sqlite数据库在使用过程中应该注意以下几点
- Spring 三种注入方式
- Oracle删除用户与删除表
- GET和POST史上最全总结
- layui横向时间线_用打火机或烟头烧羽毛球拍线坏处多
- 对比了一下Hyper-v和Vmware,有发现.
- 【数值分析】—— 对数函数、指数函数(数值稳定性)
- bin文件如何编辑_每日学习:Linux文件与目录管理常用命令解析
- Stacked injection--堆叠注入--堆查询注入
- opencl JAVA编程_《OpenCL异构并行编程实战》第十二至十四章
- 解决NLPIR汉语分词系统init failed问题
- 最小生成树(最小支撑树)算法
- 微观社会调查数据:中国家庭追踪调查 CFPS
- C站能力认证(C4前端基础认证) //任务一:构建可访问性HTML实例
- Excel2007打开文件时,不显示内容,需要拖拽进去才能显示
- 读《犹太人教子枕边书》
- Android第一行代码踩坑qwq
- 微信JS-SDK实现自定义分享功能,分享给朋友,分享到朋友圈及QQ自定义分享--微信分享
- 迅雷方舟与花瓣:不一样的“瀑布流”
- 蓝牙 UUID 解释