Documentation Home
MySQL 8.0 参考手册  / 第 4 章 MySQL 程序  / 4.4 安装相关程序  /  4.4.6 mysql_tzinfo_to_sql — 加载时区表

4.4.6 mysql_tzinfo_to_sql — 加载时区表

mysql_tzinfo_to_sql程序加载数据库中的时区表mysql。它用于具有 zoneinfo数据库(描述时区的文件集)的系统。此类系统的示例包括 Linux、FreeBSD、Solaris 和 macOS。这些文件的一个可能位置是/usr/share/zoneinfo 目录(/usr/share/lib/zoneinfo在 Solaris 上)。如果您的系统没有 zoneinfo 数据库,您可以使用 第 5.1.13 节,“MySQL 服务器时区支持”中描述的可下载包。

可以通过多种方式调用 mysql_tzinfo_to_sql :

mysql_tzinfo_to_sql tz_dir
mysql_tzinfo_to_sql tz_file tz_name
mysql_tzinfo_to_sql --leap tz_file

对于第一个调用语法,将 zoneinfo 目录路径名传递给mysql_tzinfo_to_sql并将输出发送到mysql程序。例如:

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

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

第二种语法导致mysql_tzinfo_to_sqltz_file加载与时区名称相对应 的单个时区文件 tz_name

mysql_tzinfo_to_sql tz_file tz_name | mysql -u root mysql

如果您的时区需要考虑闰秒,请使用第三种语法调用 mysql_tzinfo_to_sql,这会初始化闰秒信息。 tz_file是您的时区文件的名称:

mysql_tzinfo_to_sql --leap tz_file | mysql -u root mysql

运行mysql_tzinfo_to_sql后,最好重新启动服务器,这样它就不会继续使用任何以前缓存的时区数据。