一.首先需要查看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)

 

二.修改MySQL的时区
1.可以通过修改my.cnf
在 [mysqld] 之下加default-time-zone=timezone来修改时区。如:
default-time-zone = '+8:00'
修改完了记得记得重启msyql
注意一定要在 [mysqld] 之下加 ,否则会出现 unknown variable 'default-time-zone=+8:00'

2.可以通过命令行在线修改

mysql> set time_zone='+8:00';
Query OK, 0 rows affected (0.01 sec)

 

3.通过select now()来验证时区

mysql> set time_zone='+8:00';
Query OK, 0 rows affected (0.01 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)

mysql> select now();
+---------------------+
| now() |
+---------------------+
| 2017-03-29 14:58:52 |
+---------------------+
1 row in set (0.02 sec)

mysql> set time_zone='+0:00';
Query OK, 0 rows affected (0.00 sec)

mysql> select now();
+---------------------+
| now() |
+---------------------+
| 2017-03-29 06:59:12 |
+---------------------+
1 row in set (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)