1

我需要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 -定义

4

1 回答 1

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

如果这仍然失败,出现同样的错误,那么我们试图修复的错误不是问题的根本原因。那么,我们将有更多的工作要做。

于 2017-08-21T08:02:12.333 回答