mysql怎么修改时区

文 / @WordPress主题

如何在MySQL中修改时区?

在开发基于MySQL的应用程序时,时区设置是一个非常重要的问题。因为MySQL默认使用系统时区,但是当我们开发的应用程序跨越多个时区时,需要在MySQL中进行针对性的时区设置。本文将介绍三种在MySQL中修改时区的方法,供开发人员参考。

方法一:通过mysql命令行模式下动态修改

1. 查看当前时区

在MySQL命令行中输入以下命令来查看当前时区:

select curtime();

# 或

select now();

登录MySQL后执行以下命令来查看系统使用的时区:

show variables like "%time_zone%";

可以看到类似这样的输出:

2 rows in set (0.00 sec)

# time_zone说明MySQL使用system的时区,system_time_zone说明system使用CST时区。

2. 修改时区

在MySQL命令行中输入以下命令来修改时区:

set global time_zone = '+8:00';

# 修改MySQL全局时区为北京时间,即我们所在的东8区

set time_zone = '+8:00';

# 修改当前会话时区

flush privileges;

# 立即生效

方法二:通过修改my.cnf配置文件来修改时区

在MySQL安装目录下找到my.cnf文件(如果没有就自行创建一个),在文件末尾添加下面的内容:

default-time_zone = '+8:00'

修改完成后,重启数据库服务器。

方法三:借助PHP的mysql_connect()函数(临时解决时区问题)

在PHP中,可以通过mysql_connect()函数来指定时区。例如以下代码将会把时区设置为+8:00:

mysql_query("SET time_zone = '+8:00'");

这样可以在保证你不重启的情况下改变时区。但是MySQL的某些系统函数还是不能用如:now()。

总结

以上就是在MySQL中修改时区的三种方法。不同的情况下,不同的方法都有其适用性。开发人员可以根据应用场景选择合适的方法。

添加UTHEME为好友
扫码添加UTHEME微信为好友
· 分享WordPress相关技术文章,主题上新与优惠动态早知道。
· 微信端最大WordPress社群,限时免费入群。