手抖误删数据?innobackupex和mysqlbinlog实现数据恢复

一、恢复思路
以innobackupex全备为基础,mysqlbinlog解析增量binlog,实现全备以来的任意时间点增量恢复。大致过程:
1.innobackupex实现全库数据恢复,在xtrabackup_binlog_info文件中找到起始binlog以及对应的position;
2.根据需要恢复的范围,利用mysqlbinlog抽取binlog,并应用到数据库里;
3.解析出来的binlog应用完毕后,确认数据是否正确,然后利用mysqldump将需要的特定数据导出,如果需要覆盖正式库的数据,建议不要覆盖导入,在导入前先备份正式库数据,并将表rename,最后再导入恢复的数据。

二、注意事项
1.binlog里记录着历史操作的时间点,可以根据此信息判断binlog内容是否有用,例如

# at 703
#181213 13:27:53 server id 128  end_log_pos 750 CRC32 0xc89acd78        Table_map: `sam`.`test5` mapped to number 74

2.解析binlog时切勿用–base64-out选项抑制解析内容中的BINLOG代码,这将会忽略row格式的DML binlog,只保留明文记录的DDL。例如以下BINLOG '处看起来像是乱码,其实这正是在应用binlog时需要执行的内容。

#181213 13:27:53 server id 128  end_log_pos 796 CRC32 0x39acfff0        Update_rows: table id 74 flags: STMT_END_F
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值