springboot2.0和mysql8的时间问题
第一
首先提到sb2.0会在返回时间的时候对时间做json格式化
然后再返回:
spring:jackson:date-format: yyyy-MM-dd HH:mm:sstime-zone: Asia/Shanghai
这里的time-zone
也可以用GMT+8
第二
然后说说mysql8的时区问题
这是mysql.cnf
[client]
default-character-set = utf8mb4[mysql]
default-character-set = utf8mb4[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
default_authentication_plugin = mysql_native_password
然后我在docker里跑mysql8
这是docker-compose.yml
version: '3'
services:mysql8:image: mysql:8restart: alwaysvolumes:- ./mysql/data:/var/lib/mysql- ./mysql/conf:/etc/mysql/conf.d- ./localtime:/etc/localtime# - ./timezone:/etc/timezoneenvironment:- MYSQL_ROOT_PASSWORD=rootports:- "3306:3306"container_name: mysql8adminer:image: adminerrestart: alwaysports:- "8000:8080"container_name: adminer
我挂载了一个localtime,调整容器内的时区(timezone这个文件感觉没啥用,加不加都没影响)
这样的数据库本身存储时间是没问题的(插入时间正确)
mysql> select now();
+---------------------+
| now() |
+---------------------+
| 2019-01-17 08:03:00 |
+---------------------+
1 row in set (0.00 sec)mysql> select current_timestamp;
+---------------------+
| current_timestamp |
+---------------------+
| 2019-01-17 08:03:10 |
+---------------------+
1 row in set (0.00 sec)mysql>
但是这里用mysql8的驱动连接就会出现问题(据说6以后的驱动才会出现,没验证,也就是mysql8的版本)
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.13</version>
</dependency>
时间相差14个小时(我遇到的是这个问题加上一个问题的究极版,然后相差的时间在调试的时候出现过8、14、16各种各样,崩溃。。。)
解决方案之一
spring:datasource:# MySQLusername: rootpassword: root
# url: jdbc:mysql://mysql_net:3306/demo?useUnicode=true&characterEncoding=utf8&useSSL=falseurl: jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghaidriver-class-name: com.mysql.cj.jdbc.Driver
也就是加上serverTimezone=Asia/Shanghai
也可以是serverTimezone=GMT%2B8
,%2B
表示+
解决方案之二
mysql.cnf
[client]
default-character-set = utf8mb4[mysql]
default-character-set = utf8mb4[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
default_authentication_plugin = mysql_native_password
default-time-zone = '+8:00'
加上default-time-zone = '+8:00'
不是很理解
这样就解决了
感兴趣的小伙伴可以看我的项目:
https://github.com/hsowan/SpringBoot-demo
springboot2.0和mysql8的时间问题相关推荐
- SpringBoot2.0.3之quartz集成,不是你想的那样哦!
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:青石路 cnblogs.com/youzhibing/p/1 ...
- SpringBoot2.0配置redis相关
2019独角兽企业重金招聘Python工程师标准>>> SpringBoot2.0中redis的配置 REDIS (RedisProperties) Redis数据库索引(默认为0) ...
- 这是一篇优雅的Springboot2.0使用手册
最近再研究springboot的原理?颇有收获,现在让我分享一下springboot如何使用吧~ 想要解锁更多新姿势?请访问我的博客 啥是Springboot 和书上理解的不同,我认为Springbo ...
- SpringBoot2.0新特性 - Quartz自动化配置集成
https://www.jianshu.com/p/056281e057b3 在新版本的SpringBoot2.0发布后,急迫尝鲜的我将相关的项目已经更换为最新版本,在SpringBoot源码GitH ...
- spring-boot-2.0.3之quartz集成,不是你想的那样哦!
前言 开心一刻 晚上回家,爸妈正在吵架,见我回来就都不说话了,看见我妈坐在那里瞪着我爸,我就问老爸"你干什么了惹我妈生这么大气?" 我爸说"没有什么啊,倒是你,这么大了 ...
- SpringBoot2.0 Actuator 监控参数说明
主要内容更 监控参数说明 Maven坐标 <dependency><groupId>org.springframework.boot</groupId><ar ...
- SpringBoot2.0 整合 Dubbo框架 ,实现RPC服务远程调用
一.Dubbo框架简介 1.框架依赖 图例说明: 1)图中小方块 Protocol, Cluster, Proxy, Service, Container, Registry, Monitor 代表层 ...
- SpringBoot2.0 整合 Redis集群 ,实现消息队列场景
本文源码 GitHub地址:知了一笑 https://github.com/cicadasmile/middle-ware-parent 一.Redis集群简介 1.RedisCluster概念 Re ...
- SpringBoot2.0 基础案例(12):基于转账案例,演示事务管理操作
本文源码 GitHub地址:知了一笑 https://github.com/cicadasmile/spring-boot-base 一.事务管理简介 1.事务基本概念 一组业务操作ABCD,要么全部 ...
- SpringBoot2.0 基础案例(04):定时任务和异步任务的使用方式
一.定时任务 1.基本概念 按照指定时间执行的程序. 2.使用场景 数据分析 数据清理 系统服务监控 二.同步和异步 1.基本概念 同步调用 程序按照代码顺序依次执行,每一行程序都必须等待上一行程序执 ...
最新文章
- Xtrabackup bug记录
- IntelliJ 平台 2020 年路线图
- Windows Server Backup 备份活动目录
- 相机标定(一) —— 深入理解齐次坐标及其作用
- 首批绿证核发 2018年或适时启动强制约束交易
- 【毕业答辩】毕业设计答辩现场技巧
- Disunity_V0.5.0 提取Unity生成的Apk的资源
- php kindeditor远程图片上传,kindeditor 远程图片本地化,远程图片下载到本地自动更换图片路径...
- 阿里云云解析DNS怎么样?云解析DNS有什么优势?
- 将python 脚本转换为exe格式
- The client is closed
- python绘制对比分析图(柱状图、折线图)
- 通过OpenSSL解析X509证书基本项
- nas服务器系列,机架式nas新选择 篇一:小型存储服务器硬件挑选
- 大企业喜欢使用外包人员驻场开发软件的原因解析
- 第一次使用支付接口(银联接口)
- 把销售订单客户和备注带到生产任务单上
- 关于script标签在HTML页面放置的位置
- ubuntu安装xinetd服务报错 invoke-rc.d: policy-rc.d denied execution of restart解决
- 安卓 文本框怎么贴近边缘_PS教程:怎么用文字组成人脸
热门文章
- 超炫酷的Bat脚本入门教程
- 【Go】Go语言中反射包的实现原理(The Laws of Reflection)
- PHP中单引号与双引号用法
- matlab中的矩阵元素表示和求和
- bada开发——简单介绍
- 最小公倍数求法 (3种代码思路供参考 ) --(C语言实现)-- 详解
- [开源]免费天气预报接口,提供七天预报(包括省市代码)
- PythonStock(25)股票系统:PythonStock V1 发布了,基于Python开发,使用Tushare抓取数据,存储到Mariadb数据库中,同时还开发了通用数据报表系统,通过配置
- dell r630 配置raid_DELL服务器RAID配置图文教程
- 空间域图像增强(matlab实现)