mysql_tzinfo_to_sql ORDER BY错误

时间:2017-08-20 09:56:18

标签: mysql sql tzinfo

我需要为项目运行实用程序mysql_tzinfo_to_sql,每当我尝试运行第一个命令时:

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 Sierra(10.12.6) 而我正试图做到这一切因为:https://docs.djangoproject.com/en/1.10/ref/databases/#mysql-time-zone-definitions

1 个答案:

答案 0 :(得分: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

如果仍然失败,并且出现相同的错误,那么我们尝试修复的错误不是问题的根本原因。然后,我们还有更多的工作要做。