修改MySql数据库时区

先检查MYSQL的时区,打开一台MYSQL时区正确的机器,然后打开有问题的机器,确认是时区错误。

先打开时区正确的机器:进入MYSQL,在命令行输入:mysql -uroot -p****(root的密码),进去之后输入show variables like ‘%time_zone%’;然后回车,得到如下的显示:

+——————+——–+
| Variable_name    | Value  |
+——————+——–+
| system_time_zone | CST    |
| time_zone        | SYSTEM |
+——————+——–+
2 rows in set (0.00 sec)

然后再输入select from_unixtime(1257868800);回车,得到如下结果:

+—————————+
| from_unixtime(1257868800) |
+—————————+
| 2009-11-11 00:00:00       |
+—————————+
1 row in set (0.00 sec)

好了,再去有问题有机器上执行相同的操作发现执行show variables like ‘%time_zone%’;得到的结果是:

+——————+——–+
| Variable_name    | Value  |
+——————+——–+
| system_time_zone | EDT    |
| time_zone        | SYSTEM |
+——————+——–+
2 rows in set (0.01 sec)

执行select from_unixtime(1257868800);得到的结果是:

+—————————+
| from_unixtime(1257868800) |
+—————————+
| 2009-11-10 11:00:00       |
+—————————+
1 row in set (0.00 sec)

时间差了十三个小时。怎么样把时区调回我们想 要的呢?虽然网上说可以在命令行下执行set time_zone = ‘+8:00′;之后就设置了时区,但是这样的操作没有对全司有效。只是在执行这个之后再在命令行下执行其它的操作可以得到正确的数据。但是在 phpmyadmin下得到的结果还是错的。所以要修改MYSQL的配置文件来达到修改全局变量的目的。

先去找到mysql的配置文件my.cnf, 一般在/etc/my.cnf下面,可以cd /etc 然后find my.cnf找找,看能不能找到。找到之后就修改它,用VI打开:vi /etc/my.cnf,打开之后查找[mysqld],在VI输入“/”然后输入[mysqld],就定位到[mysqld]所在的位置,在它的下面加 上default-time-zone = ‘+8:00′这一行,然后保存退出,重新启动MYSQL,使时区生效。这个时候再去MYSQL下查看刚才的那两条命令,就会发现时区都设置正确了。

到此,时区不对的问题就解决了。


博文来源:http://blog.csdn.net/aidenliu/article/details/6054032

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值