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

sig*_*igi 11 mysql database timezone

我有一个共享托管mySql实例,它的system_time_zone设置为太平洋标准时间,并且它的time_zone变量设置为System,因此它实际上是在太平洋标准时间运行.

即我运行以下命令来找到它:

SELECT version( ) , @@time_zone , @@system_time_zone , NOW( ) , UTC_TIMESTAMP( )
Run Code Online (Sandbox Code Playgroud)

我想将默认的mySql数据库/本地mySql数据库时区更改为GMT/UTC时间.我试着跑,SET time_zone = '+0:00'这确实成功执行了!

但是,当我检查@@ time_zone的状态时,这似乎不会影响time_zone变量.我看过另一个处理类似问题的帖子如何设置MySQL在Windows和Linux中使用GMT我还检查了MySql文档,几乎没有进展.由于我使用的是共享托管解决方案,因此我的访问权限有限,而且我无权访问我的PhPMyAdmin mySql功能.

我想知道是否有任何方法可以在SQL查询中更改default_time-zone,或者我是否需要回退到命令行(不幸的是,我无法访问该命令行).

感谢您的帮助和建议,

马丁

Mat*_*y J 7

简而言之,MySQL实际上将datetime内部的数据类型字段存储为UTC.

However,PhpMyAdmin使用服务器默认时间显示日期,因此您的困惑.

例如,尝试在SQL语句之前添加此行PhpMyAdmin:

SET @@session.time_zone='+00:00';
SELECT * FROM MY_TABLE
Run Code Online (Sandbox Code Playgroud)

有关MySQL更多详细信息,请参阅文档,或者本文中的答案:如何正确设置mysql时区

干杯马特


Wh1*_*Ck5 1

对于共享主机,您必须要求支持人员帮助您并为您更改默认时区吗?我与 Arcor 托管提供商遇到了类似的问题,给他们打电话,他们修复了它。在此之前,我在date_default_timezone_set()PHP 代码中找到了临时解决方案。也许最好的解决方案是询问有权更改该参数的人。