轉載:https://blog.csdn.net/huangyuehong914/article/details/81742039
--------------------- --------------------- --------------------- --------------------- --------------------- --------------------- --------------------- --------------------- --------------------- ---------------------
# 查看數據庫時區 mysql> show variables like '%time_zone%'; +------------------+--------+ | Variable_name | Value | +------------------+--------+ | system_time_zone | EST | | time_zone | SYSTEM | +------------------+--------+ 2 rows in set (0.00 sec)
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
