从 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/Jakarta
或 SetEnv TZ Asia/Jakarta
都适合我。抱歉,如果您想将时区设置为亚洲/雅加达,我没有提到上面的命令是一个示例。我已经编辑了我的帖子。【参考方案2】:
由于我在共享服务器上,我的提供商并没有只为我更改它。所以在搜索之后我发现,我必须在 sql 上使用 datetime
类型而不是当前时间戳,并且正如 madipradhana 所说,我更新了我的 php.ini
或 .htaccess
。
【讨论】:
【参考方案3】:当您在共享服务器上时,使用 php 的 date()
并将 date_default_timezone_set('timezone_name');
设置为您的 index.php
【讨论】:
以上是关于从 phpMyAdmin 更改 mysql 时区的主要内容,如果未能解决你的问题,请参考以下文章
通过 PhPMyAdmin 在 MySql Server 上设置默认时区