mysql_tzinfo_to_sql程序有助于将时区表加载到mysql数据库中。它在具有zoneinfo数据库(i.e描述时区的文件集)的系统上使用。此类系统的示例包括Linux,FreeBSD,Solaris和macOS。这些文件最可能的位置是/ usr / share / zoneinfo目录(在Solaris上为/ usr / share / lib / zoneinfo)。
如果系统没有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后,建议重新启动服务器,以使其不再继续使用以前缓存的时区数据。