mysql_tzinfo_to_sql - 在 MySQL 中加载时区表

mysqlmysqli database

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
(或)
shell> mysql_tzinfo_to_sql tz_file tz_name
(或)
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后,建议重新启动服务器,以便它不会继续使用之前缓存的时区数据。


相关文章