查看數據庫時區
mysql> show variables like '%time_zone%';
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | CST |
| time_zone | CST -07:00|
+------------------+--------+
2 rows in set (0.00 sec) 這里CST -07:00代表北美時間
mysql默認使用的SYSTEM時區,即EST時區,查詢相關資料可知,EST時區要比北京時間(東八區)慢13個小時,在數據庫中的表現即為:
mysql> select now();
+---------------------+
| now() |
+---------------------+
| 2017-03-09 21:24:39 |
+---------------------+
1 row in set (0.00 sec)
那我們怎么修改,有兩種方法,一種是臨時的,一種是長久的。
一:通過sql命令臨時修改
# 設置全局時區 mysql> set global time_zone = '+8:00';
Query OK, 0 rows affected (0.00 sec)
# 設置時區為東八區 mysql> set time_zone = '+8:00';
Query OK, 0 rows affected (0.00 sec)
# 刷新權限使設置立即生效 mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> show variables like '%time_zone%';
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | EST |
| time_zone | +08:00 |
+------------------+--------+
2 rows in set (0.00 sec)
二:修改my.cnf實現永久修改
vi /etc/mysql/my.cnf
然后在mysqld下邊的配置中添加一行:
default-time_zone = '+8:00'
然后重啟mysql
service mysql restart
