今天导入数据库时候出现如下错误:

ERROR 1064 (42000) at line 5: 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 6

mysql版本为5.5.12,数据库文件为老版本,是数据库存储引擎问题,

TYPE=MyISAM 和 ENGINE=MyISAM 都是设置数据库存储引擎的语句 

(老版本的MySQL使用TYPE而不是ENGINE(例如,TYPE = MYISAM)。 

MySQL 5.1为向下兼容而支持这个语法,但TYPE现在被轻视,而ENGINE是首先的用法。 

一般地,ENGINE 选项是不必要的;除非默认已经被改变了,MyISAM是默认存储引擎。

用vim打开数据库文件,找到MyISAM这行,从下图可以看出这个是5.1版本以前的数据库文件,如果直接往高版本的mysql里面的导入的话就会出现上面那个问题。

 

 

解决方法:把数据库文件里的TYPE更改为ENGINE就OK了,

sed -i 's/TYPE/ENGINE/g' ***.sql