mysql_tzinfo_to_sql - 在 MySQL 中加载时区表


mysql_tzinfo_to_sql 程序有助于将时区表加载到 mysql 数据库中。它用于具有 zoneinfo 数据库的系统,即描述时区的文件集。此类系统的示例包括 Linux、FreeBSD、Solaris 和 macOS。这些文件最可能的位置是 /usr/share/zoneinfo 目录(Solaris 上的 /usr/share/lib/zoneinfo)。

调用 mysql_tzinfo_to_sql

如果系统没有 zoneinfo 数据库,则可以安装可下载的软件包。mysql_tzinfo_to_sql 可以通过多种方式调用。其中一些已在下面显示 -

shell> mysql_tzinfo_to_sql tz_dir
(or)
shell> mysql_tzinfo_to_sql tz_file tz_name
(or)
shell> mysql_tzinfo_to_sql --leap tz_file

在第一个调用语法中,zoneinfo 目录路径名传递给 mysql_tzinfo_to_sql。输出发送到 mysql 程序。

让我们举个例子来理解这一点 -

shell> mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql

mysql_tzinfo_to_sql 读取用户的系统时区文件并从中生成 SQL 语句。然后,mysql 处理这些语句以便加载到时区表中。

第二个调用导致 mysql_tzinfo_to_sql 加载单个时区文件 tz_file,该文件对应于如下所示的时区名称 tz_name -

shell> mysql_tzinfo_to_sql tz_file tz_name | mysql -u root mysql

如果用户的时区需要考虑闰秒,则可以使用第三个语法调用 mysql_tzinfo_to_sql。这个第三个语法初始化闰秒信息。tz_file 是你的时区文件的名称 -

shell> mysql_tzinfo_to_sql --leap tz_file | mysql -u root mysql

运行 mysql_tzinfo_to_sql 后,建议重新启动服务器,以使其不继续使用先前缓存的时区数据。

更新于: 2021年3月10日

907 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告