MyFlash快速恢复数据

说明:

    6月11号下午,研发不小心执行update语句,将一个表数据全部更新,表有15万条数据,需尽快恢复数据。

恢复过程:

   1,使用腾讯云的极速恢复到时间点

   2,使用binlog2sql工具

 使用1,数据库是早上0点备份,要回放0点到现在的全部sql,执行会比较慢

 使用2,binlog2sql,生成15万条update回滚语句,执行一直很慢

数据量小用binlog2sql,很快,一旦10万以上,就太慢,有没有其他更快的恢复数据方法,在网上了一下,MyFlash恢复大量数据比较快,

其恢复数据原理好binlog2sql,有区别,能快速恢复数据。

MyFlash使用:

  1,安装MyFlash

  2,根据时间查出执行 SQL的gtid或者是start-pos和end-pos

测试:update stan set update_time=now(),更新全表数据,共176654条

mysqlbinlog --read-from-remote-server  --base64-output=DECODE-ROW -vvv  --host=10.0.0.1 --port=3306 --user=xxx --password=xxx  --start-datetime="2021-06-17 10:12:09" --stop-datetime="2021-06-17 10:26:16"  mysql-bin.000648 |grep stan -A 120 -B 10 >/data/61.txt

 到对应gtid,start-pos和end-pos,这里-A 120,就是要把后面的信息打印出来,如end-pos的信息

通过 head  -n 20  /data/61.txt 和  tail -n 160 /data/61.txt  ,找到对应的start-pos和end-pos

mysqlbinlog --read-from-remote-server  --base64-output=DECODE-ROW -vvv  --host=10.0.0.1  --port=3306 --user=xxx --password=xxx --start-position=233673651 --stop-position=275603033  mysql-bin.014292  >/data1/binlog/621.txt

这样621.txt,就是完整的更新信息

grep 'stan' 60.txt |wc -l    ,计数stan个数:176656,多2个表名:因为,binlog包含下面信息,看信息是完整的:

# update stan set update_time=now()
# at 233673808
#210625 15:26:36 server id 219103 end_log_pos 233673919 CRC32 0x269a4e74 Table_map: `db_test`.`stan` mapped to number 99901648

确认后,执行:

./flashback --databaseNames=db_test --tableNames=stan --start-position=233673651 --stop-position=275603033 --sqlTypes='update' --binlogFileNames=/data1/binlog/mysql-bin.014292

应用到数据:

mysqlbinlog  --skip-gtids binlog_output_base.flashback|mysql -uxxx -pxxx -h10.0.0.1

  这里的xxx用户,需要super权限,因腾讯云上没有开super权限,可以将表同步到自建库里,再自建库里运行改命令

 

posted @   zping  阅读(123)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示