docker 下mysql时区8个小时的解决办法及JDBC连接数据库mysql serverTimezone useSSL时差
星期四, 2019-06-20 | Author: Lee | JAVA-and-J2EE, linux | 8,965 views
问题起因:
1.应用启动初始化数据看了下插入的数据时间和本地时间不一致 差了8个小时
解决方法:
网上检索之发现最终引起的原因是新版JDBC驱动指定的serverTimezone的原因
1.修正docker下mysql时区的问题
show variables like '%time_zone%'; set global time_zone='Asia/Shanghai'; set time_zone='Asia/Shanghai'; flush privileges; |
实际上这么操作后,如果无法生效的话,还是要修改配置文件并重新启动mysql使其生效
docker下的路径在 /etc/mysql/conf.d/my.cnf
修改my.cnf default-time-zone ='Asia/Shanghai' |
查看 select now(); 等 如下图
2.因使用的新版的驱动需要调整的部分
驱动包用的是mysql-connector-java-8.0.15.jar (使用springboot2.1.4版本)
新版的驱动类改成了com.mysql.cj.jdbc.Driver
新版驱动连接url也有所改动
spring.datasource.url=jdbc:mysql://localhost:3306/data?useUnicode\=true&characterEncoding\=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=UTC spring.datasource.username=root spring.datasource.password=root spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver 更换成 serverTimezone=Asia/Shanghai 或者 serverTimezone=GMT%2B8 即可 jdbc:mysql://localhost:3306/data?useUnicode\=true&characterEncoding\=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=Asia/Shanghai |
now,问题得以解决
文章作者: Lee
本文地址: https://www.pomelolee.com/1883.html
除非注明,Pomelo Lee文章均为原创,转载请以链接形式标明本文地址
No comments yet.
Leave a comment
Search
相关文章
热门文章
最新文章
文章分类
- ajax (10)
- algorithm-learn (3)
- Android (6)
- as (3)
- computer (85)
- Database (30)
- disucz (4)
- enterprise (1)
- erlang (2)
- flash (5)
- golang (3)
- html5 (18)
- ios (4)
- JAVA-and-J2EE (186)
- linux (143)
- mac (10)
- movie-music (11)
- pagemaker (36)
- php (50)
- spring-boot (2)
- Synology群晖 (2)
- Uncategorized (6)
- unity (1)
- webgame (15)
- wordpress (33)
- work-other (2)
- 低代码 (1)
- 体味生活 (40)
- 前端 (21)
- 大数据 (8)
- 游戏开发 (9)
- 爱上海 (19)
- 读书 (4)
- 软件 (3)