SQL默认时区设置问题请解决

sql default time zone set problem facing please solve

提问人:Sukrat 提问时间:8/10/2023 最后编辑:O. JonesSukrat 更新时间:8/10/2023 访问量:46

问:

我试图通过在phpmyadmin中使用以下查询将当前时区更改为亚洲/加尔各答。但它不起作用。

第一。。

set time_zone = '+5:30'

第二。

SET `time_zone` = 'Asia/Kolkata'

第三。

SET GLOBAL time_zone = '+05:30';

第四。

SET GLOBAL time_zone = "Asia/Kolkata";

但这不起作用显示了这个错误

#1227 - Access denied; you need (at least one of) the SUPER privilege(s) for this operation
sql mysql 日期时间 phpmyadmin 时区

评论

1赞 RiggsFolly 8/10/2023
错误似乎很明显!您的帐户无权进行此更改

答:

2赞 O. Jones 8/10/2023 #1

实际上,设置全局时区确实需要对 DBMS 具有管理权限:它会影响数据库的所有用户,并且如果它发生更改,可能会导致其他软件的混淆。您的错误消息清楚地表明您没有该权限。将 DBMS 的全局时区设置为 UTC 被认为是一种很好的做法。

设置会话时区(前两个示例)不需要权限,因为它只影响您的会话。许多应用程序在每次连接到 DBMS 时都会设置时区,因为这允许将当前时区设置作为用户首选项进行处理。

你没有说你的前两个例子是否成功。如果失败并成功,则表示系统管理员尚未加载 DBMS 的时区表。请那个人读这个。请注意,许多托管服务提供商拒绝加载这些表,即使它们是 MySQL 和 MariaDb 标准配置的一部分。SET SESSION time_zone='Asia/Kolkata'SET SESSION time_zone='+05:30'

(如果前两个示例都失败了,则其他问题。

对于仅限印度的应用,没有可用的时区表不是问题,因为印度不使用夏令时。但对于许多地方来说,当地时间和 UTC 之间的偏移量每年变化两次。时区表实现这些更改。例如,在夏季和冬季之间切换。America/Halifax-03:00-04:00