使用mysqldump 恢复数据时提示出错

燧人氏 发布于 2012/10/05 02:02
阅读 679
收藏 0

我在服务器中用mysqldump导出,然后在自己的电脑中导入,

E:\>mysql -uroot -p123456 discuzx25 < dump_201210030300.sql

提示出错信息:

ERROR 1064 (42000) at line 1499: You have an error in your SQL syntax; check the
 manual that corresponds to your MySQL server version for the right syntax to us

e near ''young' at line 1

可是我看了 1499那行 young 附近的SQL是没错的呀。不是单引号的问题

我想可能的原因会不会是MYSQL版本不一样产生,所以我直接在服务器上导出,然后再导入,也提示同样的错误。

 

纠结了,我直接用discuzX2.5官方的备份是可以直接备份的。也可以导入。

加载中
0
ddouble
ddouble
这个有些时候是由于导出端和导入端的字符集不同导致的。

如果你确定SQL没有错误,试一下mysqldump的时候设置字符集,注意导入时的字符集必须和导出时的一致,大多数情况用的是 gbk 或者 utf8

mysqldump  -p  --default-character-set=utf8 dbname > db.sql

mysql  -p  --default-character-set=utf8 dbname < db.sql
燧人氏
燧人氏
谢谢,确实是字符集的问题。 非常感谢。1G的数据,只要2分钟就完成了导出和备份操作。要是用官方自带的。得要多久呀。
0
朱__朱
朱__朱
是滴,你用的是命令,所以很可能与命令的版本有关。而且错误提示也显示可能是版本关系。你可以修改一下这个位置试试看,只要能导入就好,但要记住是哪条记录。导入完成后phpmyadmin里面查看一下这条记录是否有问题,有问题手动更正一下。
0
Wentasy
Wentasy

引用来自“朱亚杰”的答案

是滴,你用的是命令,所以很可能与命令的版本有关。而且错误提示也显示可能是版本关系。你可以修改一下这个位置试试看,只要能导入就好,但要记住是哪条记录。导入完成后phpmyadmin里面查看一下这条记录是否有问题,有问题手动更正一下。
赞!
0
billzheng
billzheng
已经没有碰mysql数据库10来年了,但是感觉你 1499行sql可能和别的sql存在重复,就是两行一模一样的sql
返回顶部
顶部