MySQL查看和修改时区

来源:互联网 发布:linux删除非空文件夹 编辑:程序博客网 时间:2024/06/08 17:37

最近在做PayPal支付相关的东西,然后PayPal所使用的都是UTC时间,也就是格林尼治时间。而我们(中国)处于东八区,与零时区相差8小时,准确的说是快8小时。为了保证时间上的统一,需要把数据库也设置为UTC时间,这样会省去很多计算,也减小了出差错的概率。

警告:但是要注意一点,了解MySQL的同学都知道timestamp才会跟着时区变化而变化,而datetime是不会变的(关于二者比较看这里:http://blog.csdn.net/qq_32457355/article/details/54604054)。所以如果已经有数据的,而且字段是datetime,就不要妄想之前的数据一起跟着变成修改时区后的时间了


查看时区

time_zone是一个MySQL的属性,可以直接用show variables like 变量名 查看, 就像这样:

mysql> show variables like '%time_zone%';+------------------+--------+| Variable_name    | Value  |+------------------+--------+| system_time_zone | CST    || time_zone        | +08:00 |+------------------+--------+2 rows in set (0.01 sec)

设置时区

客户端修改

当前session生效
SET time_zone = "+00:00";SET @@session.time_zone = "+00:00";

修改后会立即生效,不信你再查一下看看。但是退出当前会话,下次不生效。

全局修改
SET global time_zone = "+00:00";

这要注意了,本次不生效,但是从这之后再连接的才会生效。也是很神奇。

配置文件修改

不知道配置文件在哪的话,参考这个http://blog.csdn.net/qq_32457355/article/details/78427077

##在[mysqld]区域中加上default-time_zone = '+00:00'

重启MySQL

## ubuntu sudo service mysql restart## Macmysql.server restart## OtherGoogle

更多:vien.我爱你

原创粉丝点击