平台项目~数据恢复平台功能

一  针对目标:非工单系统的数据恢复 

二 分析功能设计,根据SQL语句确定具体的时间带你

    1 在每个mysql上建立一个守护进程,记录 主机 binlog开启时间 binlog结束时间 binlog文件名

    2 填写两个元素

       1 主机名  2 时间范围  3 库 4 表 5 具体的SQL语句

    3 利用binlog_rollback 生成SQL文件,SQL语句进行检索 得到具体的值,

    4 如果可以利用binlog恢复就生成回滚语句,否则直接执行下一步

三  恢复功能设计

     1 填写两个元素

       1 需要恢复的实例  2 需要恢复的时间点 3 需要恢复前一个GTID事务

    2  后台需要存储的

       1  对应数据库的备份记录  实例ID-全量备份名称-全量备份时间点-全量备份存储位置

       逻辑  1 根据实例和恢复的实际点 定位全量备份的信息 对 全量备份进行解压和恢复,

                2 当恢复完成后反馈前端一个建立恢复实例完成 

                3 恢复完成的实例自动进行change master to  start util 需要恢复的实例 作为从,能并行应用binlog,

                4 当同步到指定位置后返回前端信息 同步数据完成

                5 然后DBA进行查看 进行数据的具体恢复操作

        建议:

               1 准备一台大容量的存储,将每天的全备都存这里一份,然后第二天清理掉,并预先解压好,这样做的好处是减少解压时间,如果实例太多 这样就不太好做,因为每天备份的生成量是一个非常恐怖的数字,

               2 采用celery进行异步处理,处理完成后反馈前端改变工单状态,使DBA能第一时间获知

            

原文地址:https://www.cnblogs.com/danhuangpai/p/14120956.html