Mysql DB - 更改服务器时区时需要在数据库中做什么

Mysql DB - what needs to be done in the database when changing server's timezone

我要更改我的服务器时区。我们正在节省本地时间的时间,并决定将我们所有的时间管理更改为 UTC 时间。作为此过程的一部分,我正在扫描我的架构,以查找 dateTimetimestamp 类型的列,以便将它们从本地时间转换为 UTC。

我的问题是 - 是否需要对数据库的其他模式(如 information_schemamysql 进行一些更改?

不,您不需要更改内置伪表,但有一个例外:时区表。如果它们未加载,您必须加载它们。尝试 SET time_zone 'Asia/Kolkata'; 或类似的东西。如果失败,则不会加载您的时区表。您可以阅读有关加载它们的信息。

请勿尝试更改其他内置表格。充其量更改将被拒绝。最坏的情况是你会破坏你的服务器。

在此更改之前,您服务器的主机操作系统时间是否已经 运行 UTC?如果是这样,您不需要更改 TIMESTAMP 列中的值;这些值已经以 UTC 内部存储,并在进出途中为您转换为本地时区。