mysql相对oracle来说,自带的恢复手段较少。下面罗列下不同场景下mysql的恢复的手段:
1删除表
在有备份的情况下,一般都是通过备份+binlog来进行恢复。在没有备份的情况下可以使用undrop工具进行恢复,但是这个工具在使用上有些问题,在drop表后进行表结构的恢复中没有指定端口的参数,只能是默认的3306端口,需要修改源码添加指定端口的参数。在恢复的时候需要扫描磁盘,机器的cpu数越多,并发越高,速度越快,这个工具针对drop table的恢复有些蛋疼,在恢复表结构的时候,需要扫描整个分区,如果分区很大,那么对于磁盘的消耗是很大的,也许是我使用姿势不对??这个工具另外的问题是扫描的块不一定总能找的到,不知道为什么,即使是扫了真个的磁盘也找不到合适的page,前提已经将数据刷到了磁盘上。没有看源码,不知道是怎么弄的,写了个shell自动还原,一开始能找到page,但是没有数据,后来就开始找不到page了,有些崩溃,准备扒源码看看。
2删除数据,误更新
这种方式也可以使用备份+binlog的方式恢复,但是如果备份很大,在恢复的时候也需要很长的时间,线上有的业务不一定能接受,可以考虑使用下mysqlbinlog_flashback工具进行闪回
3剩下的基于时间点的恢复只能是备份+binlog来进行了,这种用binlog来恢复的方式也有不同的使用方法,第一个是使用之前的备份+备份的binlog在别的机器上进行恢复,第二种方式是使用之前的备份制作从库,配置指向master,在恢复到指定的位置后停止,这个需要master上保存有需要binlog。
4进行基于表的指定时间点的恢复,这种的恢复,可以在使用备份配置成从库后,然后指定复制过滤来复制指定的表,加快恢复的速度。
上面的这3中方式能覆盖大多数的恢复场景。
mysql 不同场景下的恢复方式
原创
©著作权归作者所有:来自51CTO博客作者aoerqilengbai的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:关于更新丢失的问题的思考
下一篇:shell赋值
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Route 2600 常用灾难恢复方式
Route 2600 常用灾难恢复方式
职场 Route 休闲 灾难 -
linux下删除文件恢复方法恢复 linux 删除文件 休闲 删除文件恢复
-
html js 页面架构图
SEO有没有未来?, “隐藏的内容”, “图片和内容滑动门”, “动画幻灯片”, “传送带”, “Tab内容选项卡” ,结合各种拖拽、滑动、灯箱等特效,这就是下面将为你呈现的。 1. jQuery pageSlide jQuery pageSlide 是一个jQuery插件,它可
html js 页面架构图 javascript ui ViewUI ide