查看时区
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的区别及使用选择