mysql_tzinfo_to_sql-在MySQL中加载时区表

mysql_tzinfo_to_sql程序有助于将时区表加载到mysql数据库中。它在具有zoneinfo数据库(i.e描述时区的文件集)的系统上使用。此类系统的示例包括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

如果用户的时区需要计算leap秒,则可以在第三种语法的帮助下调用mysql_tzinfo_to_sql。该第三语法初始化the秒信息。tz_file是您的时区文件的名称-

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

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