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

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.DruidDataSource
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: 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=true
    username: ????
    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.kler.cn/a/374868.html

相关文章:

  • SSID,即Service Set Identifier(服务设置的表示符号)
  • gin框架可以构建微服务吗?
  • 逗号运算符应用举例
  • 每日新闻掌握【2024年10月24日 星期四】
  • 有没有噪音低的宠物空气净化器推荐?希喂、IAM性能PK
  • 【Linux:TCP通信流程】
  • 开源AI智能名片2+1链动模式S2B2C商城小程序领域的未来探索
  • Rust 力扣 - 238. 除自身以外数组的乘积
  • 支持向量机背后的数学奥秘
  • 开源数据库 - mysql - MYSQL8.4版本删除功能
  • 【React】react-app-env.d.ts 文件
  • Android 音量调节流程分析
  • 【牛客算法】某司面试算法题:找出最长山脉的长度
  • 微服务设计模式 - 大使模式(Ambassador Pattern)
  • 怎么在哔哩哔哩保存完整视频
  • git入门教程3:安装配置
  • 西瓜书《机器学习》符号表KaTex表示
  • 012:ArcGIS Server 10.2安装与站点创建教程
  • 奇瑞汽车:降阶模型在新能源汽车热管理仿真上的应用
  • (二十四)、在 k8s 中部署自己的 jar 镜像(以 springcloud web 项目为例)
  • kafka如何获取 topic 主题的列表?
  • Python Pendulum库:优雅的时间处理利器
  • uniapp使用websocket
  • Tomcat所需端口及作用
  • class 041 最大公约数、同余原理
  • Threejs渲染3D字体介绍