Docker运行Mariadb时区问题处理

12 篇文章 0 订阅
问题排查
  1. 进入docker
    docker exec -it mariadb /bin/sh
  2. 查看容器时间
#date [-R]   #查看主机时间
#timedatectl    #查看主机时区
  1. 更改时区
#  tzselect    #选择时区,4 选择亚洲 > 9 选择中国时区 -> 1选择北京时间 -> 1 选择Yes
# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime             #上海时间
或者
# rm /etc/localtime
# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime          #上海时间
  1. 修改显示时间
date                                      #查看当前系统时间
yum install -y ntpdate                    #安装ntpdate程序
ntpdate cn.pool.ntp.org                   #更新系统时间
date                                      #再次查看当前系统时间   
修改mariaDB 时间
  1. 查看mariadb时区和当前时间
mysql -uroot -proot
mysql>> show variables like "%time_zone%";
mysql>> select now();
  1. 临时修改时区
mysql>> set global time_zone = '+8:00';         ##修改mysql全局时区为北京时间,即我们所在的东8区
mysql>> set time_zone = '+8:00';            ##修改当前会话时区
mysql>>  flush privileges;           #立即生效
  1. 永久生效但要重启

修改/etc/my.cnf的[mysqld]区域中加上,重启mariadb使新时区生效

#vi /etc/my.cnf 
[mysqld]
default-time_zone = '+8:00'
#systemctl restart mysql

4.docker的时区配置命令

#进入控制台
docker exec -it mariadb /bin/bash 
#修改默认时区,根据提示选择区域和城市
#dpkg-reconfigure tzdata
#需要重新启动
docker restart mariadb

或者利用 docker cp ./my.cnf mariadb:/etc/mysql/my.cnf的方式将配置文件覆盖,重启后依然生效

参考链接
  1. 主机、Docker时间与时区设置总结
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值