【问题标题】:Mysql DB - what needs to be done in the database when changing server's timezoneMysql DB - 更改服务器时区时需要在数据库中完成的操作
【发布时间】:2018-10-23 10:36:01
【问题描述】:
我即将更改我的服务器时区。我们正在以当地时间节省时间,并决定将我们所有的时间管理更改为 UTC 时间。作为此过程的一部分,我正在扫描我的架构,以查找 dateTime 和 timestamp 类型的列,以便将它们从本地时间转换为 UTC。
我的问题是 - 是否需要在数据库的其他架构中进行一些更改,例如 information_schema 或 mysql?
【问题讨论】:
标签:
mysql
database
datetime
timezone
information-schema
【解决方案1】:
不,您不需要更改内置伪表,但有一个例外:时区表。如果它们未加载,则必须加载它们。试试SET time_zone 'Asia/Kolkata'; 或类似的东西。如果失败,则不会加载您的时区表。您可以阅读有关加载它们的信息。
请勿尝试更改其他内置表。充其量更改将被拒绝。最坏的情况是你会破坏你的服务器。
在此更改之前,您服务器的主机操作系统时间是否已经按照 UTC 运行?如果是这样,您不需要更改 TIMESTAMP 列中的值;这些值已在内部以 UTC 格式存储,并在进出时转换为本地时区。