mysql 设置时区

11 min read

mysql查看时区设置

查看linux系统及mysql的时区设置

show variables like "%time_zone%";

system_time_zone是linux系统设置的时区

time_zone是mysql设置的时区

上图查询的结果表示mysql的时区是根据系统设置的,所以有两种修改方案:一是修改系统的时区,二是修改mysql的配置文件

CentOS 7 时区设置

设置时区同样, 在 CentOS 7 中, 引入了一个叫 timedatectl 的设置设置程序

timedatectl 查看系统时间方面的各种状态

[root@106 ~]# timedatectl
      Local time: Thu 2021-03-04 15:01:48 CST
  Universal time: Thu 2021-03-04 07:01:48 UTC
        RTC time: Thu 2021-03-04 07:01:47
       Time zone: Asia/Shanghai (CST, +0800)
     NTP enabled: no
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a

设置系统时区为上海,东八区

timedatectl set-timezone Asia/Shanghai

mysql Docker容器修改时区

进入mysql容器:

docker exec -it 容器ID bash

Docker容器没有vim命令

apt-get update
apt-get install vim -y

修改MySQL配置文件

cd /etc/mysql/mysql.conf.d
vim mysqld.cnf

进入配置文件后, 点击i进入编辑模式, 添加一行配置文件:

default-time-zone = '+08:00'

重启容器

docker restart 容器ID

测试

select now();
select CURTIME();