我已经备份了mysql数据库,但是当我尝试恢复它时,我的存储过程没有恢复。有没有类似于我们在mysqldump命令中使用--routines进行备份的方法。我们可以在mysql中做这样的事情吗?
如果我使用mysqldump,那么它只是在转储mysql表,但是如果我使用mysql命令进行恢复,那么它会在第3062行给我一个错误-error1064 (42000):你的SQL语法中有一个错误;查看与你的MySQL服务器版本相对应的手册,以获得正确的语法,在第6行使用'USING BTREE ) ENGINE=MyISAM DEFAULT CHARSET=latin1‘。
提前感谢
发布于 2009-07-03 12:00:40
您正在将5.1备份恢复到5.0实例。如果要将此转储加载到5.0中,则必须从表定义中删除'USING BTREE‘。
发布于 2012-05-18 02:20:53
一种解决方案是在没有数据的情况下转储模式,对“USING BTREE”执行搜索替换,创建db,然后在没有表定义的情况下加载转储。
或者,在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 | ...https://stackoverflow.com/questions/1078818
复制相似问题