提问人:Sukrat 提问时间:8/10/2023 最后编辑:O. JonesSukrat 更新时间:8/10/2023 访问量:46
SQL默认时区设置问题请解决
sql default time zone set problem facing please solve
问:
我试图通过在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
答:
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
评论