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

mysql误删数据恢复记录

背景

1、数据库版本 5.7.36,由于误操作删掉了表的所有数据,但是数据库备份每天凌晨进行、只能从备份恢复昨日的全量数据,当日的数据将会丢失
在这里插入图片描述

查看binlog配置

在这里插入图片描述

binlog配置

[mysqld]
#设置日志三种格式:STATEMENT、ROW、MIXED 。
binlog_format = row
#设置日志路径,注意路经需要mysql用户有权限写,这里可以写绝对路径,也可以直接写mysql-bin(后者默认就是在/var/lib/mysql目录下)
log-bin = /var/lib/mysql/mysql-bin.log
#设置binlog清理时间
expire_logs_days = 7
#binlog每个日志文件大小
max_binlog_size = 100m
#binlog缓存大小
binlog_cache_size = 4m
#最大binlog缓存大小
max_binlog_cache_size = 512m
#配置serverid
server-id=1

尝试恢复

1、找到binlog文件

误删除后立即刷新binlog flush logs
在这里插入图片描述

2、binlog转sql

mysqlbinlog   --start-datetime="2024-08-14 00:00:00" --stop-datetime="2024-08-14 23:59:59"  /var/lib/mysql/mysql-bin.000002 -v >  test2.sql

3、查看sql

找到对应的误操作之前的insert update等sql重新执行即可恢复当日未备份前的数据。
注意:此时binlog_format = mixd

在这里插入图片描述

补充

1、binlog_format = row 这个参数很重要
2、为row时、会将delete from table where id > 5 记录为多条sql delete from table where id = 6,delete from table where id = 7、而不是原始的sql

在这里插入图片描述

3、借助其他工具转换为sql

参考博客
https://www.cnblogs.com/lkj371/p/15177266.html
借助工具将binlog解析为可视化sql、完成数据恢复

http://www.lryc.cn/news/426771.html

相关文章:

  • 论文阅读:Real-time Controllable Denoising for Image and Video
  • 【Kubernetes】虚拟 IP 与 Service 的代理模式
  • 深度学习·Pytorch
  • fastzdp_sqlmodel新增get_first和is_exitsts方法
  • 嵌入式软件--数电基础 DAY 3
  • 【生成式人工智能-十五-经典的影像生成方法-GAN】
  • python 已知x+y=8 求x*y*(x-y)的最大值
  • windows平台的postgresql主从数据库流备份
  • Spring 常见设计模式
  • 优化大量数据导出到Excel的内存消耗(二):如果数据超出Excel单表上限,则进行分表
  • rustrover打开会报Error: Invalid toolchain
  • docker-compose 安装canal
  • Unity动画模块 之 3D Rig页签
  • 【蓝桥杯冲刺省一,省一看这些就够了-Java版本】蓝桥杯日期问题相关模板以及练习题
  • 【经典算法】BFS_FloodFill算法
  • RocketMQ之Topic主题详解
  • 实战OpenCV之图像显示
  • I2C的10-bit地址空间
  • TinyWebserver的复现与改进(6):定时器处理非活动连接
  • ThinkPHP5 5.0.23 远程代码执行漏洞
  • C++鼠标键盘操作自动化
  • 多个主流Python GUI库全面解析,助你用Python轻松构建精美界面
  • Kotlin学习-01创建kotlin学习
  • Java、python、php版的企业单位考勤打卡管理系统的设计与实现(源码、调试、LW、开题、PPT)
  • 在IntelliJ IDEA中使用Git推送项目
  • CNN代码实战
  • 迁移学习代码复现
  • Elasticsearch(ES)常用命令
  • C/C++ 不定参函数
  • C语言——函数专题