代码改变世界

MySQL server version for the right syntax to use near 'TYPE=MyISAM'

2016-04-27 14:07  潇湘隐者  阅读(19189)  评论(0编辑  收藏  举报

    最近将一个版本为4.0.18-Max的MySQL数据库迁移到5.6.20-enterprise-commercial-advanced上。好吧,这是我迄今为止,见到过的最古老版本的MySQL数据库,这个数据库跑在一个512M上老古董PC上,已经存活了十多年了。使用mysqldump导出导入时,遇到了一个错误:

mysql>CREATE TABLE BackupFrequency 
 
( BackupFrequency char(15ULL default '', PRIMARY KEY (BackupFrequency) ) TYPE=MyISAM;
 
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your
 
MySQL server version for the right syntax to use near 'TYPE=MyISAM' at line 1

clip_image001

查了一下资料,发现这个是由于MySQL创建表的写法 TYPE=MyISAM 太古老了,在MySQL 5.6.20上已经不支持了,这个应该在MySQL 5.1后的相关版本已经取消了支持,具体参考链接http://bugs.mysql.com/bug.php?id=17501,只能将mysqldump导出的脚本文件里面的TYPE=MyISAM 全部替换成ENGINE=InnoDB后,才能成功导入。