我需要将带有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_'
我该怎么做才能解决这个问题?
答案 0 :(得分:0)
对于此特定错误,请删除sql中的 - 注释行。 您可以使用以下任何一种方法:
sed -i '/^--/d' dumpfile.sql
awk '!/^--/' dumpfile.sql > filteredfile.sql
grep -v '^--' dumpfile.sql > filteredfile.sql
您可能还遇到了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以支持先前版本的输出。