1

我只是使用 mysql_tzinfo_to_sql 将 zoneinfo 数据库加载到 mysql 中。他们都进口得很好。

[root@db ~]# mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql mysql

我有一些我似乎无法找到答案的问题:

  • 名称是否与 PHP 中使用的名称time_zone_name相同?我假设 PHP 使用相同的/usr/share/zoneinfo信息,所以名称也会相同,对吧?
  • 它提到当时区数据发生变化时,需要不时地重新填充表。这是通过yum更新更新 tzdata 的时候吗?是tzdata我的/usr/share/zoneinfo信息吗?
  • 如果上述情况属实,则 tzdata 会更新,我需要重新填充我的表......我该怎么做?我可以再跑[root@db ~]# mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql mysql一次吗?该命令会覆盖当前存在的信息,还是我需要在这样做之前手动删除所有表条目?

感谢您提供有关上述内容的任何信息。到目前为止,PHP 中使用的时区名称似乎匹配,但除了一些测试之外,我还没有进一步研究它。至于最后两个......我只是想领先一步,所以如果/当表格需要更新时,我没有麻烦。

4

1 回答 1

1

MySQL 和您的操作系统都使用IANA 时区数据库中的时区

在许多 Linux 发行版上,这些来自tzdata软件包发行版,将它们安装到/usr/share/zoneinfo.

所以,是的——它们都是一样的。

关于 MySQL 时区表,文档说:

如果您的系统有自己的 zoneinfo 数据库,请在 zoneinfo 数据库更新时重新加载 MySQL 时区表。

所以,是的 - 每次更新到最新的 tzdata 包时,您都应该再次运行该命令。

于 2020-05-02T19:20:58.690 回答