2017-08-20 29 views
1

我需要运行的程序mysql_tzinfo_to_sql一个项目,每当我尝试运行的第一个命令:mysql_tzinfo_to_sql ORDER BY错误

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

我收到以下错误:

ERROR 1105 (HY000) at line 46426: ORDER BY ignored as there is a user-defined clustered index in the table 'time_zone_transition' 

我的理解是因为ORDER BY未被处理,所以在更新时区时不会再进一步​​,尽管我从来没有碰过这个基地,但我不知道我怎么能最好地解决这个问题。

而且当试图运行:

mysql_tzinfo_to_sql tz_file tz_name | mysql -u root -p mysql 

我得到以下错误:

mysql_tzinfo_to_sql: Can't create/write to file 'tz_file' (Errcode: 2 "No such file or directory") 
Problems with zoneinfo file 'tz_file' 

编辑:我在塞拉利昂的MacOS运行(10.12.6) 而且我试图做到这一切,因为这一点:https://docs.djangoproject.com/en/1.10/ref/databases/#mysql-time-zone-definitions

+2

不是一个答案,但你应该告诉我们你是否运行Windows或Linux。配置时区表在每种类型的操作系统上稍有不同。 –

+0

好点,只是更新了评论! – AKFourSeven

回答

0

我有一个答案,我认为应该是安全的,应该解决你遇到的错误。从文档中,我认为表time_zone_transition默认应该是空的。所以,我觉得你可以试试这个截断表,然后删除所有指标:

DELETE FROM time_zone_transition 

听起来不知何故有此表上,其导致问题的一个或多个索引。我建议只删除所有指标:

SHOW INDEX FROM time_zone_transition 

然后就每个指标如下:

ALTER TABLE time_zone_transition DROP INDEX some_index 

最后,再次尝试运行您的初始命令:

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

如果仍然失败,有同样的错误,那么我们试图解决的错误不是问题的根本原因。然后,我们会在这里做更多的工作。

+0

这里的INDEX是主键,它看起来像下面这样: '''PRIMARY KEY('Time_zone_id','Transition_time')'''因此我想知道是否删除它是个好主意? – AKFourSeven