从mysql 3.3迁移到mysql 5.5

时间:2013-04-22 12:09:36

标签: mysqldump

我需要将带有MySQL 3.23的旧服务器上的mysql数据库移动到带有mysql 5.5.20的新服务器上

我用gzip创建了一个mysqldump并将其上传到新服务器。使用gunzip file.sql.gz | mysql -uusername -ppasword dbname我试着让它运行起来。但是我收到了一个错误。错误是

  

第4行的错误1064(42000):您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在'-----

附近使用正确的语法      

在第1行创建表lite_'

我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:0)

对于此特定错误,请删除sql中的 - 注释行。 您可以使用以下任何一种方法:

sed -i '/^--/d' dumpfile.sql
awk '!/^--/' dumpfile.sql > filteredfile.sql
grep -v '^--' dumpfile.sql > filteredfile.sql

您可能还遇到了myisam的类型错误。

mysql error 'TYPE=MyISAM'

注意您的类型编码。 您可以从文件中删除所有非ASCII字符

perl -plne 's/[^[:ascii:]]//g' dumpfile.sql

Special characters get lost in MySQL export/import

关于3到5次转换的其他说明。

http://hisdeedsaredust.com/2009/02/mysql-version-3-to-version-5/

关于mysql的其他说明可以在这里找到:

http://dave.thehorners.com/tech-talk/random-tech/325-mysql

恕我直言,应该编写mysqlimport以支持先前版本的输出。