docker开启的Mysql修改时区

文章讲述了如何在Docker容器中的MySQL查询当前时区,并提供了修改操作系统和MySQL服务时区的命令,包括使用`timedatectl`或`date`命令检查时区,以及在MySQL中设置时区的方法。此外,还提到了重启MySQL服务以应用时区更改的重要性,以及在Docker环境中如何重启容器或服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

进入docker

在这里插入图片描述

查询和修改时区

注意:MySQL 中存储的时间默认为 UTC 时间,因此需要根据需要进行转换。

你可以使用以下命令查询 MySQL 当前的时区:

SELECT @@global.time_zone;

该命令会返回 MySQL 当前的全局时区设置,如果你想查询当前会话的时区设置,可以使用以下命令:

SELECT @@session.time_zone;

如果 MySQL 显示的时区为 SYSTEM,则表示时区是由操作系统决定的。这种情况下,你需要查看操作系统的时区设置来确定 MySQL 使用的时区。

你可以使用以下命令查看 Linux 操作系统的时区设置:

timedatectl

该命令会返回操作系统的时区设置,例如:

      Local time: Fri 2022-04-01 11:11:11 CST
  Universal time: Fri 2022-04-01 03:11:11 UTC
        RTC time: Fri 2022-04-01 03:11:11
       Time zone: Asia/Shanghai (CST, +0800)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a

如果你需要修改操作系统的时区设置,可以使用以下命令:

timedatectl set-timezone Asia/Shanghai

其中,Asia/Shanghai 可以替换为你所在的时区。

如果你在 CentOS 上使用 timedatectl 命令时出现 timedatectl: command not found 的错误,可能是因为该命令需要 systemd 守护进程的支持。你可以尝试使用以下命令来查询当前时区:

date +%z

该命令会返回当前系统的时区,例如:

+0800

其中,+0800 表示当前时区为 UTC +8。如果你需要修改时区,可以使用以下命令:(后两行非必须,用第一行即可)

sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
sudo systemctl restart rsyslog 
sudo systemctl restart crond

其中,Asia/Shanghai 可以替换为你所在的时区。

MySQL 中存储的时间默认为 UTC 时间,如果需要设置时区,可以使用以下命令:

-- 设置全局时区
SET GLOBAL time_zone = 'Asia/Shanghai';

-- 设置当前会话时区
SET time_zone = 'Asia/Shanghai';

其中,Asia/Shanghai 可以替换为你所在的时区。

重启mysql服务

注意:在设置时区之后,需要重启 MySQL 服务才能生效。

在 Docker 中,你可以使用以下命令来重启 MySQL 容器:

docker restart [container name or ID]

其中,[container name or ID] 表示 MySQL 容器的名称或 ID。

如果你需要进入 MySQL 容器中重启服务,可以使用以下命令:

docker exec -it [container name or ID] bash
/etc/init.d/mysql restart

其中,[container name or ID] 表示 MySQL 容器的名称或 ID。

注意:如果你在 Docker 中使用了 --rm 参数启动 MySQL 容器,容器会在退出时自动删除,因此无法重启服务。如果需要重启服务,你需要重新启动 MySQL 容器。

如果你需要在 MySQL 容器中设置时区,可以使用以下命令:

echo "[timezone]" > /etc/timezone
ln -sf /usr/share/zoneinfo/[timezone] /etc/localtime
service mysql restart

其中,[timezone] 表示你所在的时区,例如 Asia/Shanghai。‘

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值