首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何恢复mysql数据库

如何恢复mysql数据库
EN

Stack Overflow用户
提问于 2009-07-03 10:47:03
回答 2查看 2.8K关注 0票数 1

我已经备份了mysql数据库,但是当我尝试恢复它时,我的存储过程没有恢复。有没有类似于我们在mysqldump命令中使用--routines进行备份的方法。我们可以在mysql中做这样的事情吗?

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

提前感谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-07-03 12:00:40

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

票数 2
EN

Stack Overflow用户

发布于 2012-05-18 02:20:53

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

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

代码语言:javascript
复制
cat name-of-dump.sql | perl -pe 's/USING BTREE//' | mysql name_of_db

或者,如果转储是压缩的:

代码语言:javascript
复制
zcat name-of-dump.sql.gz | ...
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1078818

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档