二手交易网站建设内容策划,推荐邵阳网站建设,ftp如何修改网站备案号,wordpress挣钱设置mysql容器时间与服务器时间一致
问题背景#xff1a;
今天测试发现一个问题#xff0c;时间不一致#xff0c;当工单入库时#xff0c;其创建时间和更新时间应该是一样的#xff0c;即使不一样最多只会错几秒的时间#xff1b;实际上两个时间相差的大概8小时#…设置mysql容器时间与服务器时间一致
问题背景
今天测试发现一个问题时间不一致当工单入库时其创建时间和更新时间应该是一样的即使不一样最多只会错几秒的时间实际上两个时间相差的大概8小时 一般来讲像这种问题大概率是时区问题但是由于第一次处理走了不少弯路记录一下
原因分析
由于我们使用的是k8s部署方式内网的mysql服务端镜像和外网的服务端基础镜像不一样
内网的容器时间与服务器时间是一致的都是 Asia/Shanghai 24小时制的但是外网却不一致数据库容器时间是12小时制时区与服务器时区也不一样
因此我们需要把容器的时区配置与服务器的时区配置统一即可
解决方式
Dockerfile更改方式
在dockerfile中添加这一行设置时区
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ echo Asia/Shanghai /etc/timezonedocker启动时的更改方式
在启动时挂载宿主机的时区文件
docker run -p 3306:3306 --name mysql -v /etc/localtime:/etc/localtimek8s启动方式
原理都是挂载yaml 设置
containers:env: - name: TZvalue: Asia/ShanghaivolumeMounts:- name: timezonemountPath: /etc/localtime
volumes:- name: timezonehostPath:path: /usr/share/zoneinfo/Asia/Shanghaimysql的配置文件也可以添加配置
[mysqld]default-time_zone 8:00每日一句
顺不妄喜逆不惶馁安不奢逸危不惊惧胸有惊雷而面如平湖者可拜上将军