如何恢复mysql数据库

如何恢复mysql数据库,mysql,database,backup,restore,Mysql,Database,Backup,Restore,我已经备份了mysql数据库,但当我试图恢复它时,我的存储过程没有得到恢复。我们使用的备份有没有类似的方法——mysqldump命令中的例程。 我们可以在mysql中做这样的事情吗 如果我使用mysqldump,那么它只是转储mysql表,但是如果我使用mysql命令进行恢复,那么它会给我一个错误- 第3062行的错误1064(42000):您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,了解使用“USING BTREE”附近的正确语法 )第6行的ENGINE=MyISAM默认字

我已经备份了mysql数据库,但当我试图恢复它时,我的存储过程没有得到恢复。我们使用的备份有没有类似的方法——mysqldump命令中的例程。 我们可以在mysql中做这样的事情吗

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


提前感谢

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

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

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

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

或者,如果转储被压缩:

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

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

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

或者,如果转储被压缩:

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

是否应该在服务器上执行此操作?错误是否应该在服务器上执行此操作?错误我正在5.1实例上还原它。很抱歉,我确认我正在使用5.0实例,我正在还原5.1实例。谢谢。我正在5.1实例上还原它。很抱歉,我确认我正在使用5.0实例,我正在5.1实例上还原它。非常感谢。