当前位置: 首页 > article >正文

mysql8通过binlog恢复数据

参考资料: 通过binlog恢复误update的数据(一)_binlog 恢复update-CSDN博客

记录一次工作中的误删除,使用binlog恢复数据的问题。

1:找到mysql8的binlog文件。

2:把binlog文件转换为初始sql文件

mysqlbinlog -vv --base64-output=decode-rows参数的含义

mysqlbinlog -vv --base64-output=decode-rows 
--start-datetime='2024-02-01 13:49:00' 
--stop-datetime='2024-02-01 13:50:00' binlog文件路径 > 生成的sql文件

-vv 显示备注
--base64-output=decode-rows
--start-datetime和--stop-datetime时间筛选

3.把初始文件里面的需要恢复的操作(insert,update)提取出来

## 提取出insert操作

grep -A 17 -E  "### INSERT INTO \`数据库名称\`.\`表名\`" 生成的sql文件 > 新增sql文件;


## 提取出update操作

grep -A 34 -E  "### UPDATE \`数据库名称\`.\`表名\`" 生成的sql文件 > 更新sql文件;

4.把提取出来的新增或者更新sql文件转为为可执行的sql文件

## insert 转换为可执行sql文件

sed -i 's/###//g; s/@1=//g; s/@2=//g; s/@3=//g; s/@4=//g; s/@5=//g; s/@6=//g; s/@7=//g; s/@8=//g; s/@9=//g; s/@10=//g; s/@11=//g; s/@12=//g; s/@13=//g; s/@14=//g; s/@15=//g; s/@16=//g; s/SET/VALUES(/g; s|*/|*/,|g; s/--//g; s:/\*.*\*/::g' 新增sql文件;sed -i "s/'00'/'00')/g" 新增sql文件;sed -i 's/) ,/) ;/g' 新增sql文件


## update 转为为可执行sql文件

sed -i 's/### //g; s/--//g;s:/\*.*\*/::g' 更新sql文件;
sed -i '/WHERE/{:a;N;/SET/!ba;s#WHERE#set#g}' 更新sql文件;
sed -i '/SET/{:a;N;/\n/!ba;s#SET#where#g}' 更新sql文件;
sed -i '/set/{:a;N;/where/!ba;s#@5=#STATUS=#g}' 更新sql文件;
sed -i '/where/{:a;N;/\n/!ba;s#@1=#TASKID=#g}' 更新sql文件;
sed -i '/@/'d 更新sql文件;
sed -i -r 's#(TASKID=.*)#\1;#g' 更新sql文件


http://www.kler.cn/a/229076.html

相关文章:

  • 源码编译安装httpd 2.4,提供系统服务管理脚本并测试
  • CIA-Access V2.5_9_2_10G EPON技术原理_关键技术
  • PyTorch 神经协同过滤 (NCF) 推荐系统教程
  • ChatGPT结合Excel辅助学术数据分析详细步骤分享!
  • AWTK fscript 中的 输入/出流 扩展函数
  • DNS介绍与部署-Day 01
  • OpenGL 入门(九)—Material(材质)和 光照贴图
  • AS-V1000 视频监控平台产品介绍:客户端功能介绍(二)
  • 算法练习-二叉树的层序遍历(思路+流程图+代码)
  • Docker进阶篇-轻量级可视化工具Portainer
  • 力扣:131. 分割回文串
  • langgraph学习--创建基本的agent执行器
  • 汽车信息安全--SHE中的密钥管理(一)
  • setState的参数
  • 2 月 5 日算法练习- 字符串
  • easyexcel解析跨多行的数据
  • Linux 【docker系列1 - docker 安装与使用】
  • 解决hive表新增的字段查询为空null问题
  • 2.5 作业
  • 从 AGP 4.1.2 升级到 7.5.1——动态添加仓库
  • 【Java】小白友好的MyBatis基础XML开发学习笔记
  • 什么是Java中的弱引用(Weak Reference)和软引用(Soft Reference)?
  • 【漏洞复现】大华智慧园区综合管理平台bitmap接口存在任意文件上传漏洞
  • 某赛通电子文档安全管理系统 UploadFileToCatalog SQL注入漏洞复现
  • 问题:塑瓷后的牙冠要比完成的牙冠大() #学习方法#其他
  • Java入门之JavaSe(韩顺平p1-p?)