MySQL查看和修改时区time_zone

时间:2022-06-01 18:30:31

查看时区

mysql> show variables like "%time_zone%";
+------------------+--------+
| Variable_name   | Value  |
+------------------+--------+
| system_time_zone | CST   |
| time_zone     | SYSTEM |
+------------------+--------+
2 rows in set (0.00 sec)

当前会话修改时区

mysql>SET time_zone = "+9:00";
mysql> show variables like "%time_zone%";
+------------------+--------+
| Variable_name   | Value  |
+------------------+--------+
| system_time_zone | CST   |
| time_zone     | +09:00 |
+------------------+--------+

此修改只对当前会话有效,退出会话后,修改失效。

全局修改时区

>SET global time_zone = "+8:00";

这个需要退出当前会话,在新开的会话生效。

配置文件my.cnf修改时区

##在[mysqld]
default-time_zone = '+8:00'

修改my.cnf需要重启MySQL

## ubuntu 
sudo service mysql restart

时间格式

GMT(Greenwich Mean Time):格林威治标准时间
UTC:世界标准时间
CST(China Standard Time):中国标准时间

GMT + 8 = UTC + 8 = CST

注意:对MySQL修改时区会对datetime类型的旧数据有影响,参考MySQL datetime与timestamp的区别及使用选择