重要提醒

一定要对数据库备份!!!备份!!!!备份!!!!

  1. 有时候备份docker并不会备份里面的数据,所以做好docker备份的检查
  2. 系统备份<docker备份(如果有的话)< 数据库备份 < sql备份 根据重要程度最好依次做好备份

操作流程

  1. 执行sql语句,查看当前使用的日志文件
show master status

  1. 执行sql语句,查看日志列表详情
show binlog events in 'master-mysql-bin.000004'

  1. 将对应的binlog导出
mysqlbinlog --no-defaults -vv  /var/lib/mysql/master-mysql-bin.000004 > /tmp/all.sql
  1. 使用合适的编辑器查看导出的all.sql文件,并找出造成误删除的sql语句,找到其前面的pos,比如下方示例的819306
# at 819306
exec_time=0    error_code=0   Xid = ***
SET TIMESTAMP=****/*!*/;
SET @@session.pseudo_thread_id=*****/*!*/;
DROP TABLE `误删除的数据表` /* generated by server */

注意

  1. 特别重要:恢复前一定要对现有的所有数据库的数据进行备份,并保证就算在一台新服务器上备份的数据库也可以被顺利恢复。
  2. 注意其最早的记录,如果该记录时间较晚,可能造成恢复数据的过程中报错,或者数据不完整。
  3. 注意查看是否有创建对应表的sql,如果没有创建表的sql,后续需要手动创建对应的表。
  4. 逐个检查drop
  1. 导出其之前的sql进行恢复
mysqlbinlog --no-defaults -v --database="要恢复的数据库"  --start-position="4" --stop-position="819306"  /var/lib/mysql/master-mysql-bin.000004 > /放临时文件的目录/有意义的文件名.sql
  1. 导入文件
mysql -uroot -p密码 < /放临时文件的目录/有意义的文件名.sql

或者进入mysql

mysql -uroot -p密码
source /放临时文件的目录/有意义的文件名.sql

完结

Mysql通过binlog恢复误删数据相关推荐

  1. 如何利用MySQL的binlog恢复误删数据库详解

    文章来源: 学习通http://www.bdgxy.com/ 目录 1 查看当前数据库内容并备份数据库 2 开启bin_log功能 3 模拟误操作(插入3条数据,删除数据库) 4 数据恢复 5 总结 ...

  2. binlog恢复误删数据

    1.1 查询当前使用的binlog日志 show master logs; 1.2 查看binlog日志信息 show binlog events in 'mybinlog.000005'; writ ...

  3. 使用MySQL的binlog日志恢复误删数据

    使用binlog日志恢复误删数据 1.查看binlog是否开启并锁表 # 进入mysql mysql -uroot -proot#查看binlog是否开启 show variables like '% ...

  4. mysql binlog恢复误删的数据

    mysql通过binlog日志恢复数据 前提条件 开启备份 备份及恢复原理 了解mysql主从复制,就知道slave会开启一个线程,去获取master的binlog二进制文件,用于同步数据,mysql ...

  5. Mysql使用binlog恢复数据解决误操作问题的两种方法

    Mysql使用binlog恢复数据解决误操作问题的两种方法 参考文章: (1)Mysql使用binlog恢复数据解决误操作问题的两种方法 (2)https://www.cnblogs.com/Data ...

  6. PostgreSQL恢复误删数据

    在Oracle中:删除表或者误删表记录:有个闪回特性,不需要停机操作,可以完美找回记录.当然也有一些其他的恢复工具:例如odu工具,gdul工具.都可以找回数据.而PostgreSQL目前没有闪回特性 ...

  7. 利用plsql工具恢复误删表和恢复误删数据

    一.恢复误删表 1.执行以下sql语句,找到被自己误删的数据表对应的object_name: select * from user_recyclebin t;--查看被删掉的表 2.根据得到的obje ...

  8. Canal监听mysql的binlog日志实现数据同步

    Canal监听mysql的binlog日志实现数据同步 1. canal概述 1.1 canal简介 1.2 技术选型 1.3 原理分析 1.3.1 MySQL主备复制原理 1.3.2 canal原理 ...

  9. mysql数据库误删且未持久化_MySQL恢复误删数据解决方案

    工作中难免会误删数据,下面说一下怎样从导出的备份数据和binlog日志中恢复数据.关于备份数据和binlog可以参考下面的文章: 一.恢复数据思路 总体思路是从备份文件中恢复已备份的数据,还有一些未备 ...

最新文章

  1. mysql被格式化恢复数据_三种常见数据库文件恢复方法介绍
  2. android gridview固定行数据,如何在Android gridview中为行设置不同的列
  3. ATen(A TENsor library for C++11)剖析(1)
  4. Windows下关于Git的行结束符
  5. SAP UI5 Manifest fill logic
  6. 合并m3u8(ts)文件的工具
  7. 【去广告插件推荐】AdBlock让浏览器清净
  8. switch日文键盘打中文_12月有哪些Switch游戏值得期待?
  9. java 生成一个随机整数,范围从 1 到 10;或 生成一个 0 或 1 的随机整数
  10. Tensorflow去掉warning
  11. 2022AI决策智能实践:美宜佳
  12. 微信公众号给女友推送消息,无需手写代码(超全)
  13. ERROR: Encountered errors while bringing up the project.
  14. UICollectionView 自定义布局教程: Pinterest
  15. php基础笔试题与答案解析(1)
  16. 基于PHP+MySQL的小型购物系统网站
  17. 学前端没这些工具怎么行
  18. 2020电工(初级)模拟考试系统及电工(初级)模拟考试软件
  19. ps4手柄usb线连接后可以玩电脑游戏
  20. ARM最高处理器架构:cortex-a57 哪年能出来?

热门文章

  1. 极路由+花生壳内网版配置
  2. Jquery如何获取当前元素的id?
  3. 普通视图和物化视图的区别(转)
  4. 模拟电路技术之基础知识(二)
  5. 一、什么是Nginx? Nginx的作用是什么?
  6. static 函数和变量
  7. differential privacy 学习笔记(一)
  8. linux升级内核后vnc显示没有桌面,Intel NUC(NUC6i3SYH)在不接显示器的情况下VNC不显示桌面(Ubuntu 18.04)...
  9. 【webrtc】视频特效的添加(15)
  10. OnTimeAction