当前位置: 首页 > news >正文

SpringBoot应用部署到Docker中MySQL8时间戳相差8小时问题及处理方式

文章目录

  • SpringBoot应用部署到Docker中MySQL8时间戳相差8小时问题及处理方式
    • 1. 检查MySQL服务器的时间区设置
    • 2. 在Spring Boot应用程序中设置时间区
    • 3. Docker容器中通过Dockerfile设置时区
    • 4. 在运行Docker容器时通过命令行传递环境变量
    • 5. 启动SpringBoot应用时设置JVM参数来指定时区

SpringBoot应用部署到Docker中MySQL8时间戳相差8小时问题及处理方式

  1. 将Spring Boot应用程序部署到Docker容器中,并且该应用程序与MySQL 8数据库交互时,如果发现创建的时间戳相差8小时,这通常是因为时间区(Time Zone)设置的问题;
  2. 可通过以下几种方式来设置时区

1. 检查MySQL服务器的时间区设置

确保MySQL服务器正确设置了所需的时间区。你可以通过执行以下SQL命令来查看和设置MySQL服务器的时间区

-- 查看当前会话的时间区
SELECT @@session.time_zone;-- 设置会话时间区
SET time_zone = '+08:00'; -- 或者使用 'Asia/Shanghai' 等名称

2. 在Spring Boot应用程序中设置时间区

确保你的Spring Boot应用程序配置文件(如application.properties或application.yml)中正确设置了JDBC连接字符串,包含时间区参数。例如下面配置中的
serverTimezone=Asia/Shanghai指定了服务器的时间区为上海时区。

spring:# 数据源配置datasource:type: com.alibaba.druid.pool.DruidDataSourcedriver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://127.0.0.1:3306/your_db?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=Asia/Shanghai&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=trueusername: ????password: ????

3. Docker容器中通过Dockerfile设置时区

如果你的应用程序运行在一个Docker容器中,确保容器也正确设置了时间区。可以通过在Dockerfile中添加相应的环境变量来设置时间区:

ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

4. 在运行Docker容器时通过命令行传递环境变量

docker run -e TZ=Asia/Shanghai ...

5. 启动SpringBoot应用时设置JVM参数来指定时区

java -Duser.timezone=Asia/Shanghai -jar your_app.jar

http://www.mrgr.cn/news/62973.html

相关文章:

  • 2024“源鲁杯“高校网络安全技能大赛-Misc-WP
  • C#之WebView2实现cookie登录,免登操作。
  • asp.net core 跨域配置不起作用的原因
  • [bug修复]python安装包出现超长路径导致安装失败
  • NVR批量管理软件/平台EasyNVR多个NVR同时管理支持视频投放在电视墙上
  • SCSS在Vue中切换主题颜色示例(mixin + scss方式,简单高效)
  • 网络通信与并发编程(七)GIL、协程
  • 《揭秘 C++:确保模板函数重载决议正确的秘籍》
  • Redis ——发布订阅
  • Android 中View.post的用法
  • C++缺陷识别于调试
  • STM32的USB接口介绍
  • 使用GitLab CI/CD流水线自动化软件交付
  • leetcode 704 二分查找
  • .[support2022@cock.li].colony96勒索病毒数据怎么处理|数据解密恢复
  • 篡改猴 (Tampermonkey) 安装与使用
  • 【编程知识】C语言/c++的cast是什么
  • GitHub Spark:GitHub 推出零代码开发应用的 AI 编程产品
  • .net framework 3.5sp1开启错误进度条不动如何解决
  • Vue生命周期
  • WPF+MVVM案例实战(十五)- 实现一个下拉式菜单(上)
  • ubuntu基于docker-compose部署mysql5.7和mysql8.0
  • [ 问题解决篇 ] 新装虚拟机 Windows server 2012 无法 ping 通(关闭/开启防火墙详解)
  • C++抽象类(接口)
  • 2024网鼎杯初赛-青龙组-WP
  • AI大模型原来这么简单!一篇文章拯救你的技术恐惧症