不同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版本資料匯入出現的問題