【MySQL】修改时区设置



    实践中遇到的一个问题,开发环境的时间数据一切正常,但正式环境数据库中的时间数据与实际相比差了8个小时。根据以往的PHP时区问题经验,断定问题处在MySQL的时区设定上。

    用命令行连上去看一下时间,可以确认问题



    mysql> show variables like '%time_zone%';
    +------------------+--------+
    | Variable_name    | Value  |
    +------------------+--------+
    | system_time_zone |        |
    | time_zone        | SYSTEM |
    +------------------+--------+
    2 rows in set, 1 warning (0.00 sec)
    
    mysql> select now();
    +---------------------+
    | now()               |
    +---------------------+
    | 2011-12-30 18:12:25 |
    +---------------------+
    1 row in set (0.00 sec)

    修改方法:

    修改mysql安装目录下的bin/my.ini,增加以下一行配置项

    default-time-zone       = "+8:00"

    重启mysql,搞定了

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

    p.s. PHP的时区配置项为

    date.timezone = "Asia/Shanghai"

    PHP代码中可以通过以下代码来设置时区

    date_default_timezone_set("Asia/Shanghai");

    时区问题是个小问题,但有时候会影响数据展现,所以统一设置一下比较好。



    本博客所有文章如无特别注明均为原创。
    复制或转载请以超链接形式注明转自枫芸志,原文地址《【MySQL】修改时区设置
    标签:
    分享:

还没有人抢沙发呢~

无觅相关文章插件,快速提升流量