mysql convert_tz命令返回NULL

mysql convert_tz命令返回NULL,mysql,debugging,null,Mysql,Debugging,Null,我在mysql中遇到convert_tz返回null的问题 mysql --version mysql Ver 14.14 Distrib 5.6.11, for osx10.7 (x86_64) using EditLine wrapper 我看了手册 我运行了以下命令: bash-3.2 mysql_tzinfo_to_sql/usr/share/zoneinfo | mysql-u root-p mysql 输入密码:警告:无法将“/usr/share/zoneinfo/+VERS

我在mysql中遇到convert_tz返回null的问题

mysql --version
mysql  Ver 14.14 Distrib 5.6.11, for osx10.7 (x86_64) using  EditLine wrapper 
我看了手册 我运行了以下命令: bash-3.2 mysql_tzinfo_to_sql/usr/share/zoneinfo | mysql-u root-p mysql 输入密码:警告:无法将“/usr/share/zoneinfo/+VERSION”加载为时区。跳过它

Warning: Unable to load '/usr/share/zoneinfo/Asia/Riyadh87' as time zone. Skipping it.
Warning: Unable to load '/usr/share/zoneinfo/Asia/Riyadh88' as time zone. Skipping it.
Warning: Unable to load '/usr/share/zoneinfo/Asia/Riyadh89' as time zone. Skipping it.
Warning: Unable to load '/usr/share/zoneinfo/Mideast/Riyadh87' as time zone. Skipping it.
Warning: Unable to load '/usr/share/zoneinfo/Mideast/Riyadh88' as time zone. Skipping it.
Warning: Unable to load '/usr/share/zoneinfo/Mideast/Riyadh89' as time zone. Skipping it.
ERROR 1406 (22001) at line 38916: Data too long for column 'Abbreviation' at row 1
然后,我使用mysql运行了这个命令。 选择CONVERT_TZ'2004-01-01 12:00:00'、'GMT'、'EST'; 返回null。
我可以确认mysql.time\u zone\u transition\u type表中有GMT和EST条目。

**更新后,我使用linux框创建了sql文件:mysql\u tzinfo to\u sql/usr/share/zoneinfo,然后将该文件导入我的mac mysql。

另一种解决此问题的方法是将mysql\u tzinfo导出到文本文件进行编辑:

$ mysql_tzinfo_to_sql /usr/share/zoneinfo > tzinfo.sql
找到有问题的行,在我的例子中是第38982行,它是从第38982行到第38984行的拆分查询:

INSERT INTO time_zone_transition_type (Time_zone_id, Transition_type_id, Offset, Is_DST,    Abbreviation) VALUES (@time_zone_id, 0, 0, 0, 'Local time zone must be set--see zic manual page');
将其更改为:

INSERT INTO time_zone_transition_type (Time_zone_id, Transition_type_id, Offset, Is_DST, Abbreviation) VALUES (@time_zone_id, 0, 0, 0, 'UNSET');
保存文件并将其插入mysql数据库:

$ cat tzinfo.sql | mysql -u root mysql
资料来源: 通过MacOS 10.9.3测试,MySQL 5.6.15

MySQL_tzinfo_sql/usr/share/zoneinfo | sed-e s/Local时区必须设置参见zic手册页/Local/| MySQL-u根MySQL似乎在一行中做了同样的事情。在ubuntu 14.04上为我工作。