问题描述:
在项目操作过程发现了一个时区的问题,问题现象为sql打印的时间和数据库里面存储的时间不一样。后来发现问题原因为mysql的时区为CST。网上搜索了下CST时区,才发现这个时区已经被诟病已久。它居然能够表示四种时区,分别为:
-
美国中部时间 Central Standard Time (USA) UTC-06:00
-
澳大利亚中部时间 Central Standard Time (Australia) UTC+09:30
-
中国标准时 China Standard Time UTC+08:00
-
古巴标准时 Cuba Standard Time UTC-04:00
修改mysql的时区也有两种方式
- 通过客户端连接mysql,通过命令设置时区
可以先查看当前时区:show variables like ‘%time_zone%’;
mysql> show variables like '%time_zone%';
进行修改
set global time_zone = ‘+8:00’; (修改mysql全局时区为北京时间,也就是我们所在的东8区)
set time_zone = ‘+8:00’; (修改当前会话时区)
flush privileges; (立马生效)
- 当然,也可以通过修改配置文件(my.cnf)的方式来实现配置,不过需要重启服务。
在[mysqld]区域中加上
vim /etc/my.cnf
default-time_zone = '+8:00'
重启mysql使新时区生效
标签:00,Time,数据库,sql,存储,Standard,time,mysql,时区 From: https://www.cnblogs.com/jacking0325/p/17312406.html/etc/init.d/mysqld restart