mysql8.0.13修改默认时区_mysql修改默认时区
发布日期:2021-06-24 17:00:33 浏览次数:2 分类:技术文章

本文共 1424 字,大约阅读时间需要 4 分钟。

# mysql修改默认时区

> 进行mysql操作时,发现 `gmt_modified` 字段 ON UPDATE CURRENT\_TIMESTAMP 时,自动取值的时间要晚于系统时间 8 个小时。 一看便知是时区的问题。

## 1. 查看 Mysql 系统时区

```

mysql> show variables like '%time_zone%';

+------------------+--------+

| Variable_name | Value |

+------------------+--------+

| system_time_zone | UTC |

| time_zone | SYSTEM |

+------------------+--------+

2 rows in set (0.01 sec)

```

`UTC` 是协调世界时\(Universal Time Coordinated\)英文缩写, 北京时间比UTC时间早8小时。

`CST`可以同时代表如下 4 个不同的时区:

Central Standard Time \(USA\) UT-6:00

Central Standard Time \(Australia\) UT+9:30

China Standard Time UT+8:00

Cuba Standard Time UT-4:00

因此只需要把Mysql的时区改成 `China Standard Time UT+8:00` 即可

# 2. 修改时区

### 2.1普通安装方式\(未验证\)

```

vim /etc/mysql/my.cnf

# 文件末尾添加时区

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

# 重启服务即可

servicer mysql restart

```

### 2.2 docker安装方式

mysql的docker官方镜像默认没有使用 CST 时区,所以会造成时间不准的问题,

修复办法:

```

docker exec -it mysql_container bash

echo "Asia/Shanghai" > /etc/timezone

dpkg-reconfigure -f noninteractive tzdata

可以看到类似如下输出:

Current default time zone: 'Asia/Shanghai'

Local time is now: Wed Oct 24 19:44:01 CST 2018.

Universal Time is now: Wed Oct 24 11:44:01 UTC 2018.

exit

docker restart mysql_container

```

重启后就会发现 时间恢复正常了

```

mysql> show variables like '%time_zone%';

+------------------+--------+

| Variable_name | Value |

+------------------+--------+

| system_time_zone | CST |

| time_zone | SYSTEM |

+------------------+--------+

2 rows in set (0.01 sec)

```

转载地址:https://blog.csdn.net/weixin_33983809/article/details/113133269 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:mysql 5.5 主从同步_mysql5.5主从同步复制配置
下一篇:mysql no lock_mysql select不使用任何锁(select with nolock)

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月14日 09时48分20秒