首先需要查看mysql的當前時區,用time_zone參數
mysql> show variables like '%time_zone%'; +------------------+--------+| Variable_name | Value |+------------------+--------+| system_time_zone | CST || time_zone | SYSTEM |+------------------+--------+2 rows in set (0.00 sec)
1 可以通過修改my.cnf
在 [mysqld] 之下加
default-time-zone=timezone
來修改時區。如:
default-time-zone = '+8:00'
修改完了記得記得重啟msyql
注意一定要在 [mysqld] 之下加 ,否則會出現 unknown variable 'default-time-zone=+8:00'
2 另外也可以通過命令列線上修改
set time_zone = timezone比如北京時間(GMT+0800)set time_zone = '+8:00'; 如下:mysql> set time_zone='+8:00';Query OK, 0 rows affected (0.00 sec)mysql> show variables like '%time_zone%'; +------------------+--------+| Variable_name | Value |+------------------+--------+| system_time_zone | CST || time_zone | +08:00 |+------------------+--------+2 rows in set (0.00 sec)
3 再通過select now()來驗證時區
mysql> show variables like '%time_zone%'; +------------------+--------+| Variable_name | Value |+------------------+--------+| system_time_zone | CST || time_zone | +08:00 |+------------------+--------+2 rows in set (0.00 sec)mysql> select now();+---------------------+| now() |+---------------------+| 2013-08-05 10:35:31 |+---------------------+1 row in set (0.00 sec)mysql> set time_zone='+0:00';Query OK, 0 rows affected (0.00 sec)
mysql> show variables like '%time_zone%';+------------------+--------+| Variable_name | Value |+------------------+--------+| system_time_zone | CST || time_zone | +00:00 |+------------------+--------+2 rows in set (0.00 sec)
mysql> select now();+---------------------+| now() |+---------------------+| 2013-08-05 02:35:43 |+---------------------+1 row in set (0.00 sec)
參考文獻:
http://dev.mysql.com/doc/refman/5.7/en/time-zone-leap-seconds.html