我需要为一个项目运行实用程序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
最佳答案
我有一个答案,我认为它应该是安全的并且应该可以解决您遇到的错误。从文档中,我相信表 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
如果这仍然失败,并出现相同的错误,那么我们试图修复的错误不是问题的根本原因。然后,我们将有更多的工作要做。
关于mysql_tzinfo_to_sql ORDER BY 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45780839/