修改MySQL的时区,涉及参数time_zone (转)

时间:2022-01-23 08:40:12

首先需要查看mysql的当前时区,用time_zone参数

  1. mysql> show variables like '%time_zone%';
  2. +------------------+--------+
  3. | Variable_name    | Value  |
  4. +------------------+--------+
  5. | system_time_zone | CST    |
  6. | time_zone        | SYSTEM |
  7. +------------------+--------+
  8. 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 另外也可以通过命令行在线修改

  1. set time_zone = timezone
  2. 比如北京时间(GMT+0800)
  3. set time_zone = '+8:00'; 如下:
  4. mysql> set time_zone='+8:00';
  5. Query OK, 0 rows affected (0.00 sec)
  6. mysql> show variables like '%time_zone%';
  7. +------------------+--------+
  8. | Variable_name    | Value  |
  9. +------------------+--------+
  10. | system_time_zone | CST    |
  11. | time_zone        | +08:00 |
  12. +------------------+--------+
  13. 2 rows in set (0.00 sec)

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

  1. mysql> show variables like '%time_zone%';
  2. +------------------+--------+
  3. | Variable_name    | Value  |
  4. +------------------+--------+
  5. | system_time_zone | CST    |
  6. | <span style="color:#3366ff;">time_zone        | +08:00 </span>|
  7. +------------------+--------+
  8. 2 rows in set (0.00 sec)
  9. mysql> select now();
  10. +---------------------+
  11. | now()               |
  12. +---------------------+
  13. | <span style="color:#3333ff;">2013-08-05 10:35:31 </span>|
  14. +---------------------+
  15. 1 row in set (0.00 sec)
  16. mysql>  <span style="color:#ff0000;">set </span><span style="color:#ff0000;">time_zone='+0:00';
  17. </span>Query OK, 0 rows affected (0.00 sec)
  1. mysql> show variables like '%time_zone%';
  2. +------------------+--------+
  3. | Variable_name    | Value  |
  4. +------------------+--------+
  5. | system_time_zone | CST    |
  6. |<span style="color:#ff0000;"> time_zone        | +00:00 </span>|
  7. +------------------+--------+
  8. 2 rows in set (0.00 sec)
    1. mysql> select now();
    2. +---------------------+
    3. | now()               |
    4. +---------------------+
    5. | <span style="color:#ff0000;">2013-08-05 02:35:43 </span>|
    6. +---------------------+
    7. 1 row in set (0.00 sec)