如何恢复mysql数据库

时间:2009-07-03 10:47:03

标签: mysql database backup restore

我已经备份了mysql数据库但是当我尝试恢复它时,我的存储过程没有得到恢复。有没有像我们在mysqldump命令中使用的备份一样的方法。 我们可以在mysql中做任何这样的事情。

如果我正在使用mysqldump那么它只是转储mysql表但是如果我使用mysql命令恢复那么它会给我一个错误 - 错误1064(42000)在第3062行:您的SQL语法中有错误;查看与您的MySQL服务器版本对应的手册,以便在'USING BTREE附近使用正确的语法 )ENGINE = MyISAM DEFAULT CHARSET =第6行的latin1'。

提前致谢

2 个答案:

答案 0 :(得分:3)

一种解决方案是在没有数据的情况下转储模式,搜索替换“USING BTREE”,创建数据库,并加载没有表定义的转储。

或者,在un * x shell上,假设你有perl可用,这可以直接使用完全转储并使用perl(或awk,sed,ruby ......)过滤文件,如下所示:

cat name-of-dump.sql | perl -pe 's/USING BTREE//' | mysql name_of_db

或者如果转储是压缩的:

zcat name-of-dump.sql.gz | ...

答案 1 :(得分:2)

您正在将5.1备份还原到5.0实例。 如果要将此转储加载到5.0,则必须从表定义中删除“USING BTREE”。