mysql修改时区的几种方法

说明:php

如下记录修改mysql时区的几种方法。mysql

具体:
方法一:经过mysql命令行模式下动态修改
1.1 查看mysql当前时间,当前时区sql

> select curtime(); #或select now()也能够 +-----------+ | curtime() | +-----------+ | 15:18:10 | +-----------+ > show variables like "%time_zone%"; +------------------+--------+ | Variable_name | Value | +------------------+--------+ | system_time_zone | CST | | time_zone | SYSTEM | +------------------+--------+ 2 rows in set (0.00 sec) #time_zone说明mysql使用system的时区,system_time_zone说明system使用CST时区

 
1.2 修改时区vim

> set global time_zone = '+8:00'; ##修改mysql全局时区为北京时间,即咱们所在的东8区 > set time_zone = '+8:00'; ##修改当前会话时区 > flush privileges; #当即生效

 
方法二:经过修改my.cnf配置文件来修改时区函数

# vim /etc/my.cnf  ##在[mysqld]区域中加上 default-time_zone = '+8:00' # /etc/init.d/mysqld restart ##重启mysql使新时区生效

 
方法三:若是不方便重启mysql,又想临时解决时区问题,能够经过php或其余语言在初始化mysql时初始化mysql时区
这里,以php为例,在mysql_connect()下使用mysql_query(“SET time_zone = ‘+8:00′”)。
这样能够在保证你不重启的状况下改变时区。可是mysql的某些系统函数仍是不能用如:now()。这句,仍是不能理解。spa