从 phpMyAdmin 更改 mysql 时区

Posted

技术标签:

【中文标题】从 phpMyAdmin 更改 mysql 时区【英文标题】:Change mysql timezone from phpMyAdmin 【发布时间】:2015-03-14 21:29:29 【问题描述】:

我正在尝试更改数据库的时区。我在共享服务器上,数据库支持人员不能只为我更改它。时区当前为+1:00 我希望它为+05:30。我搜索并尝试了以下操作,但没有任何效果。

date_default_timezone_set('timezone_name');

添加到我的index.php 文件中。

mysql> SET GLOBAL time_zone = 'timezone_name';

它说访问受限。

SET time_zone = timezone_name

查询现在运行受影响的行。

我的网站托管在我们的站点地面服务器上。

【问题讨论】:

您在共享服务器上吗?请联系管理员。 对不起,我不知道。 为什么要设置全局时区?我建议为每个连接定义所需的时区,这样您就可以保存到服务器端更改。 好吧,如果您愿意,主机不太可能想要更改时区。另一个技巧是将所需的时间间隔添加到您的时间+ INTERVAL 4 HOUR 或您的查询中。是的,这很烦人.或者也许试试SET SESSION time_zone = 'yourtime'; 是的,目前我正在通过修改查询来做,但我需要在 sql 上更新它。 【参考方案1】:

也许您可以在 .htacess 中更改时区,而无需接触您的 PHP 脚本或 MySQL 查询。打开你的.htaccess文件,输入如下命令。

SetEnv TZ your_timezone

例如,如果您的位置在雅加达,请输入此命令

SetEnv ID Asia/Jakarta

请参阅以下链接了解可用时区:

http://php.net/manual/en/timezones.php

【讨论】:

当然应该是 'SetEnv TZ Asia/Jakarta' 而不是 'SetEnv ID Asia/Jakarta' - 这只有在时区数据库已知 'Asia/Jakarta' 并且 webservr 是 Apache 时才有效, 并且 php 作为 mod_php 运行。更不用说 PHP 安装使用的 哪个 TZ 数据库取决于 PHP 构建。 SetEnv ID Asia/JakartaSetEnv TZ Asia/Jakarta 都适合我。抱歉,如果您想将时区设置为亚洲/雅加达,我没有提到上面的命令是一个示例。我已经编辑了我的帖子。【参考方案2】:

由于我在共享服务器上,我的提供商并没有只为我更改它。所以在搜索之后我发现,我必须在 sql 上使用 datetime 类型而不是当前时间戳,并且正如 madipradhana 所说,我更新了我的 php.ini.htaccess

【讨论】:

【参考方案3】:

当您在共享服务器上时,使用 php 的 date() 并将 date_default_timezone_set('timezone_name'); 设置为您的 index.php

【讨论】:

以上是关于从 phpMyAdmin 更改 mysql 时区的主要内容,如果未能解决你的问题,请参考以下文章

如何更改 MySQL 数据库中的时区

通过 PhPMyAdmin 在 MySql Server 上设置默认时区

在 phpMyAdmin 中更改 mysql 版本

JPA 和服务器时区错误

在 WAMP 中更改 MySQL 端口号后 PHPMyAdmin 页面错误

#1045 无法从 phpMyAdmin 和命令行登录到 MySql 服务器