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

mysql时区问题

设置mysql容器时间与服务器时间一致

问题背景:

今天测试发现一个问题,时间不一致,当工单入库时,其创建时间和更新时间应该是一样的,即使不一样最多只会错几秒的时间;实际上两个时间相差的大概8小时;

在这里插入图片描述

一般来讲,像这种问题,大概率是时区问题;但是由于第一次处理,走了不少弯路,记录一下;

原因分析:

由于我们使用的是k8s部署方式,内网的mysql服务端镜像和外网的服务端基础镜像不一样;

内网的容器时间与服务器时间是一致的;都是 Asia/Shanghai 24小时制的;但是外网却不一致,数据库容器时间是12小时制,时区与服务器时区也不一样;

因此我们需要把容器的时区配置与服务器的时区配置统一即可;

解决方式:

Dockerfile更改方式:

在dockerfile中添加这一行,设置时区;

RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \&& echo "Asia/Shanghai" > /etc/timezone
docker启动时的更改方式:

在启动时挂载宿主机的时区文件:

docker run -p 3306:3306 --name mysql -v /etc/localtime:/etc/localtime
k8s启动方式:

原理都是挂载:yaml 设置

containers:env: - name: TZvalue: Asia/ShanghaivolumeMounts:- name: timezonemountPath: /etc/localtime
volumes:- name: timezonehostPath:path: /usr/share/zoneinfo/Asia/Shanghai

mysql的配置文件也可以添加配置:

[mysqld]default-time_zone = '+8:00'

每日一句:

顺,不妄喜;逆,不惶馁;安,不奢逸;危,不惊惧;胸有惊雷而面如平湖者,可拜上将军!

http://www.lryc.cn/news/37824.html

相关文章:

  • 磨金石教育摄影技能干货分享|高邮湖上观花海
  • mysql navicat忘记密码
  • Git的下载、安装、配置、使用、卸载
  • 【博客631】监控网卡与进程网络IO使用情况
  • 【Leetcode】【简单】35. 搜索插入位置
  • sql面试题
  • SQL 进阶刷题笔记
  • [网鼎杯 2020 朱雀组]Think Java
  • AIR32F103(十) 在无系统环境和FreeRTOS环境集成LVGL
  • SpringBoot接口 - 如何统一异常处理
  • 如何使用Python进行数据可视化
  • vue -- 自定义指令钩子函数补充 自定义过滤器filter参数
  • Qt不会操作?Qt原理不知道? | Qt详细讲解
  • LeetCode-面试题 17.05. 字母与数字【前缀和,哈希表】
  • 华为OD机试题 - 叠放书籍(JavaScript)| 机考必刷
  • 【数据库概论】第十一章 数据库并发控制
  • Nginx配置实例-反向代理案例二
  • HTML 字符集
  • 【C语言】每日刷题 —— 牛客语法篇(3)
  • 基于Vue3和element-plus实现一个完整的登录功能
  • 【java】Java 中泛型的实现原理
  • 【C++提高编程】C++全栈体系(二十七)
  • 软考高级信息系统项目管理师系列之三十九:项目集管理
  • 44-Golang中的channel
  • 80/20法则
  • 计算机网络高频面试题(四)
  • [计算机组成原理(唐朔飞 第2版)]第三章 系统总线(学习复习笔记)
  • 华为OD机试题 - 计算堆栈中的剩余数字(JavaScript)| 机考必刷
  • VB实现点爆炸效果
  • ICG-alkyne,吲哚菁绿-炔基结构式,实验室科研试剂,CAS号:1622335-41-4