0

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

我用 gzip 制作了一个 mysqldump 并将其上传到新服务器。使用 gunzip 文件.sql.gz | mysql -uusername -ppasword dbname 我试图让它工作。但我得到了一个错误。错误是

第 4 行的 ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在 '----- 附近使用的正确语法

在第 1 行创建 TABLE lite_'

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

4

1 回答 1

0

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

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

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

mysql错误'TYPE = MyISAM'

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

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

特殊字符在 MySQL 导出/导入中丢失

关于 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 以支持以前版本的输出。

于 2013-06-23T00:35:48.623 回答