数据恢复系列(1)~恢复方案制定

一 简介:今天聊聊如何加速恢复你的数据
二 背景:上篇讲到数据恢复的重要性和一般思路.今天讲讲应该怎么做
三 角度:

1 方案1: 设定延迟时间,建立延时库

           恢复步骤:1 分析binlog确认误操作时间
         2  延时库进行指定节点复制
           普通复制 start slave until MASTER_LOG_FILE ='Relay_Master_Log_File', MASTER_LOG_POS =Exec_Master_Log_Pos;
           GTID复制 start slave until SQL_BEFORE_GTIDS ='96359478-a845-11e6-a3d6-000c296e817a:44';
        3 导出数据
          优势:能恢复DDL操作
          时间耗时:看你的延时设置时间,如果时间短,那么恢复迅速
          缺点:需要付出硬件成本,增加维护成本
2 方案2: 利用备份进行恢复
          恢复步骤: 1 解压当天的全量备份
          2 分析binlog确认误操作时间
          3 建立恢复实例
             方法1 1 在从库设置过滤规则,只同步指定的库表,加快恢复速度
                       2 从库复制到指定位置后停止复制
                       3 导出数据
             方法2 1 利用备份binlog进行db级别的binlog恢复
                        2 导出数据
          优势:能恢复DDL操作
          时间耗时:时间耗费在解压备份和数据同步上

3 方案3:完全依赖第三方工具binlog2sql/MyFlash等开源工具
          恢复步骤: 1 利用开源工具分析binlog并生成回滚语句
          2 将回归语句应用到测试环境
          3 没有问题再导入线上

   优势:1速度快,能实现精确表的各种过滤操作
  缺点:不支持DDL回滚
4 方案4:预防性工具inception
  简介:通过inception操作的DML语句能实现自动生成回滚语句,非常方便,省去了分析binlog的操作
  优势:自动生成恢复数据
   缺点: 1 不支持DDL操作 2只能预防研发人员进行操作 3 本身有限制(比如不支持子查询的DML操作)

四 总结

   1 恢复数据一定要先在测试环境检测,防止线上数据被二次破坏
   2 方案4能预防很大一部分的误操作,建议使用,对于DDL操作回滚,只能依靠备份进行恢复了
   3 日常备份binlog是非常有必要的

   4 利用表空间迁移数据加快数据的恢复速度

五 思考问题:

  如何能恢复一周前的数据呢

  采用一周前的全备+当天的binlog即可

       

转载于:https://www.cnblogs.com/danhuangpai/p/7694267.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值