首页 > 数据库 > MySQL > 时区信息记录表|全方位认识 mysql 系统库
# 使用系统自带的时区数据集文件来填充MySQL 时区表(一次加载操作系统支持的所有时区),mysql_tzinfo_to_sql命令会读取您系统的时区文件并生成SQL语句来插入到MySQL的时区表中。注意:这种方式不会导入跳秒信息到time_zone_leap_second表中,需要单独操作 [root@localhost ~]# mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql -pletsg0 mysql: [Warning] Using a password on the command line interface can be insecure. Warning: Unable to load '/usr/share/zoneinfo/iso3166.tab' as time zone. Skipping it. Warning: Unable to load '/usr/share/zoneinfo/zone.tab' as time zone. Skipping it. Warning: Unable to load '/usr/share/zoneinfo/zone1970.tab' as time zone. Skipping it. # mysql_tzinfo_to_sql也可用于加载单个时区文件或生成闰秒信息: ## 加载单个时区文件,格式为:mysql_tzinfo_to_sql tz_file tz_name | mysql -u root mysql ,如下 [root@localhost ~]# mysql_tzinfo_to_sql /usr/share/zoneinfo/Asia/Shanghai Asia/Shanghai | mysql -u root mysql -pletsg0 ## 如果您的时区需要考虑闰秒(跳秒),命令如下,其中tz_file是您的时区文件的名称(绝对路径,要注意:导入跳秒信息的时区必须要是使用了跳秒的时区,即,在time_zone表中的use_leap_second字段为Y才有跳秒信息可导入,否则该表中的信息为空): shell> mysql_tzinfo_to_sql --leap tz_file | mysql -u root mysql ,例如: [root@localhost ~]# mysql_tzinfo_to_sql --leap /usr/share/zoneinfo/right/US/Arizona | mysql -u root mysql -pletsg0 ## 注意:运行mysql_tzinfo_to_sql之后,最好重新启动服务器,以便使得Server使用新的时区数据,以免它不会继续使用任何先前缓存的时区数据。 # 如果您的系统没有zoneinfo数据库(例如Windows),那么您可以使用可在MySQL Developer Zone上下载的软件包,链接如下:http://dev.mysql.com/downloads/timezones.html ## 下载完成之后导入该文件到数据库中,然后重启Server即可 shell> mysql -u root mysql <file_name ## 注意:不要使用包含MyISAM表的可下载软件包。MySQL 5.7及更高版本使用InnoDB作为时区表。尝试用MyISAM表替换它们会导致问题。如果您的系统有zoneinfo数据库,请不要自行下载软件包。改用mysql_tzinfo_to_sql工具直接导入系统中的时区数据集。否则,您可能会在MySQL和系统上的其他应用程序之间的日期时间处理方面产生差异。
root@localhost : mysql 04:51:37> select * from time_zone limit 1186,2; +--------------+------------------+ | Time_zone_id | Use_leap_seconds | +--------------+------------------+ | 2373 | N | | 2375 | Y | +--------------+------------------+ 2 rows in set (0.01 sec)
root@localhost : mysql 04:51:44> select * from time_zone_leap_second; +-----------------+------------+ | Transition_time | Correction | +-----------------+------------+ | 78796800 | 1 | | 94694401 | 2 | ......
root@localhost : mysql 04:53:13> select * from time_zone_name limit 2; +----------------+--------------+ | Name | Time_zone_id | +----------------+--------------+ | Africa/Abidjan | 1 | | Africa/Accra | 3 | +----------------+--------------+ 2 rows in set (0.00 sec)
root@localhost : mysql 04:59:54> select * from time_zone_transition limit 2; +--------------+-----------------+--------------------+ | Time_zone_id | Transition_time | Transition_type_id | +--------------+-----------------+--------------------+ | 1 | -1830383032 | 1 | | 3 | -1640995148 | 2 | +--------------+-----------------+--------------------+ 2 rows in set (0.00 sec)
root@localhost : mysql 05:14:59> select * from time_zone_transition_type limit 2; +--------------+--------------------+--------+--------+--------------+ | Time_zone_id | Transition_type_id | Offset | Is_DST | Abbreviation | +--------------+--------------------+--------+--------+--------------+ | 1 | 0 | -968 | 0 | LMT | | 1 | 1 | 0 | 0 | GMT | +--------------+--------------------+--------+--------+--------------+ 2 rows in set (0.00 sec)
| 作者简介
罗小波·沃趣科技高级数据库技术专家
IT从业多年,主要负责MySQL 产品的数据库支撑与售后二线支撑。曾参与版本发布系统、轻量级监控系统、运维管理平台、数据库管理平台的设计与编写,熟悉MySQL体系结构,Innodb存储引擎,喜好专研开源技术,多次在公开场合做过线下线上数据库专题分享,发表过多篇数据库相关的研究文章。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/28218939/viewspace-2660731/ ,如需转载,请注明出处,否则将追究法律责任。