Linux与Windows下修改MySql时区的方法

mysql> show variables like '%time_zone%';  #查询当前时区
+------------------+--------+
| Variable_name    | Value  |
+------------------+--------+
| system_time_zone | CST    |
| time_zone        | SYSTEM |
+------------------+--------+
2 rows in set (0.02 sec)
#time_zone 说明mysql使用system的时区,system_time_zone说明system使用CST时区 mysql
> select now();  #当前时间 +---------------------+ | now() | +---------------------+ | 2020-04-27 18:43:44 | +---------------------+ 1 row in set (0.02 sec)

修改时区

  1、临时修改

    

       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)

    flush privileges; #立即生效           

  2、永久修改

    Linux

      gedit /etc/mysql/my.conf #打开my.cnf(本人是在控制台中使用命令直接安装的mysql,因此my.cnf的位置可能会不同,因此需要根据实际情况查找出my.cnf)

      打开文件后在文件的末尾添加      

     [mysqld]
     #default-time_zone
     default-time_zone = '+8:00'

      如果my.cnf中有[mysqld]的话只需要在[mysqld]下直接添加 

     #default-time_zone
     default-time_zone = '+8:00'

      修改完毕后,输入service mysql restart,重启mysql

    Windows

      1、临时修改

        与上面临时修改一样      

      2、永久修改

      在mysql安装目录下找MySql Server 文件夹,打开该文件夹下的my.ini,如果没有的话在mysql安装目录下使用搜索直接搜my.ini

      打开my.ini在[mysqld]末尾直接添加    

     #default-time_zone
     default-time_zone = '+8:00'

      重启mysql

原文地址:https://www.cnblogs.com/xing-29391/p/12789456.html