数据恢复系列~开源恢复工具MyFlash

一 简介:今天来聊聊如何使用开源MyFlash

二 安装

     1 github 下载源码 https://github.com/Meituan-Dianping/MyFlash

      2 建议使用阿里源

         wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo 更换为阿里源

         yum -y install libgnomeui-devel

         gcc -w `pkg-config --cflags --libs glib-2.0` source/binlogParseGlib.c  -o binary/flashback  编译安装 

三 使用

        ./flashback --binlogFileName=binlog文件 --start-position= --stop-position=  --databaseNames='' --tableNames=''  --sqlTypes='DELETE|INSERT|UPDATE'

     解析文件后会在同名文件夹下生成 binlog_output_base.flashback 文件

四 恢复

     mysqlbinlog binlog_output_bash.flashback|mysql -u -p  建议先在测试环境进行恢复,研发进行数据校对,再进行线上恢复

 五 总结

    1 MyFlash生成的结果是原生binlog格式,所以要用mysqlbinlog应用,如果想可视化,用mysqlbinlog再度解析即可

    2  MyFlash是离线解析,速度也很快,非常方面

    3 MyFlash能增强恢复精度,能根据操作类型过滤

 六 补充

     1 经过最新测试 myflash是支持mysql5.7-MGR 架构数据恢复的

     2 针对gtid复制模式,需要在应用回滚日志时加上--skip-gtids可以防止报错,恢复成功

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