首页 > 代码库 > 不同mysql版本数据导入出现的问题
不同mysql版本数据导入出现的问题
原mysql的版本是:3.4.10.1deb1,目标mysql的版本是:5.0.51b-community-nt-log,导入数据时出现了一下问题:
1、DELIMITER
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 ‘DELIMITER //‘ at line 1
google了一下,[1]中的说明正确,它说,DELIMITER并不是一个MySQL命令,与你执行这句话的mysql客户端有关,我用的是PHPMYAdmin,其客户端的版本为:5.0.51a,它不支持DELIMITER语句,换个客户端即可。用命令符界面导入sql文件,运行成功。总结:DELIMITER与MySQL服务器的版本无关,只与mysql客户端有关。
2、不支持BTREE结构
#1064 - 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 ‘USING BTREE,
KEY `authorid` (`authorid`) USING BTREE,
KEY `dateline` (`datel‘ at line 24
其实并不是mysql版本不支持BTREE索引结构,而是sql语法不对。目标版本的mysql语句为将括号里的索引项放置在后面,即将所有类似
KEY `authorid` (`authorid`) USING BTREE
的语句修改成[2]:
KEY `authorid`USING BTREE(`authorid`)
3、不支持Innodb
目标mysql数据库不支持Innodb引擎,但是程序需要支持事务,因此,需要让其支持Innodb。做法如下:
找到my.ini文件,查找skip-innodb,删除前面的#,保存。重启mysql服务。
[1] http://stackoverflow.com/questions/9017269/mysql-delimiter-syntax-error
[2] http://www.xuyuanchi.com/thread-933-1-1.html
[3] http://lxy.me/mysql-supports-innodb-storage-engine.html
不同mysql版本数据导入出现的问题