Mysql通过binlog恢复误删数据
重要提醒
一定要对数据库备份!!!备份!!!!备份!!!!
- 有时候备份docker并不会备份里面的数据,所以做好docker备份的检查
- 系统备份<docker备份(如果有的话)< 数据库备份 < sql备份 根据重要程度最好依次做好备份
操作流程
- 执行sql语句,查看当前使用的日志文件
show master status
- 执行sql语句,查看日志列表详情
show binlog events in 'master-mysql-bin.000004'
- 将对应的binlog导出
mysqlbinlog --no-defaults -vv /var/lib/mysql/master-mysql-bin.000004 > /tmp/all.sql
- 使用合适的编辑器查看导出的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 */
注意
- 特别重要:恢复前一定要对现有的所有数据库的数据进行备份,并保证就算在一台新服务器上备份的数据库也可以被顺利恢复。
- 注意其最早的记录,如果该记录时间较晚,可能造成恢复数据的过程中报错,或者数据不完整。
- 注意查看是否有创建对应表的sql,如果没有创建表的sql,后续需要手动创建对应的表。
- 逐个检查drop
- 导出其之前的sql进行恢复
mysqlbinlog --no-defaults -v --database="要恢复的数据库" --start-position="4" --stop-position="819306" /var/lib/mysql/master-mysql-bin.000004 > /放临时文件的目录/有意义的文件名.sql
- 导入文件
mysql -uroot -p密码 < /放临时文件的目录/有意义的文件名.sql
或者进入mysql
mysql -uroot -p密码
source /放临时文件的目录/有意义的文件名.sql
完结
Mysql通过binlog恢复误删数据相关推荐
- 如何利用MySQL的binlog恢复误删数据库详解
文章来源: 学习通http://www.bdgxy.com/ 目录 1 查看当前数据库内容并备份数据库 2 开启bin_log功能 3 模拟误操作(插入3条数据,删除数据库) 4 数据恢复 5 总结 ...
- binlog恢复误删数据
1.1 查询当前使用的binlog日志 show master logs; 1.2 查看binlog日志信息 show binlog events in 'mybinlog.000005'; writ ...
- 使用MySQL的binlog日志恢复误删数据
使用binlog日志恢复误删数据 1.查看binlog是否开启并锁表 # 进入mysql mysql -uroot -proot#查看binlog是否开启 show variables like '% ...
- mysql binlog恢复误删的数据
mysql通过binlog日志恢复数据 前提条件 开启备份 备份及恢复原理 了解mysql主从复制,就知道slave会开启一个线程,去获取master的binlog二进制文件,用于同步数据,mysql ...
- Mysql使用binlog恢复数据解决误操作问题的两种方法
Mysql使用binlog恢复数据解决误操作问题的两种方法 参考文章: (1)Mysql使用binlog恢复数据解决误操作问题的两种方法 (2)https://www.cnblogs.com/Data ...
- PostgreSQL恢复误删数据
在Oracle中:删除表或者误删表记录:有个闪回特性,不需要停机操作,可以完美找回记录.当然也有一些其他的恢复工具:例如odu工具,gdul工具.都可以找回数据.而PostgreSQL目前没有闪回特性 ...
- 利用plsql工具恢复误删表和恢复误删数据
一.恢复误删表 1.执行以下sql语句,找到被自己误删的数据表对应的object_name: select * from user_recyclebin t;--查看被删掉的表 2.根据得到的obje ...
- Canal监听mysql的binlog日志实现数据同步
Canal监听mysql的binlog日志实现数据同步 1. canal概述 1.1 canal简介 1.2 技术选型 1.3 原理分析 1.3.1 MySQL主备复制原理 1.3.2 canal原理 ...
- mysql数据库误删且未持久化_MySQL恢复误删数据解决方案
工作中难免会误删数据,下面说一下怎样从导出的备份数据和binlog日志中恢复数据.关于备份数据和binlog可以参考下面的文章: 一.恢复数据思路 总体思路是从备份文件中恢复已备份的数据,还有一些未备 ...
最新文章
- mysql被格式化恢复数据_三种常见数据库文件恢复方法介绍
- android gridview固定行数据,如何在Android gridview中为行设置不同的列
- ATen(A TENsor library for C++11)剖析(1)
- Windows下关于Git的行结束符
- SAP UI5 Manifest fill logic
- 合并m3u8(ts)文件的工具
- 【去广告插件推荐】AdBlock让浏览器清净
- switch日文键盘打中文_12月有哪些Switch游戏值得期待?
- java 生成一个随机整数,范围从 1 到 10;或 生成一个 0 或 1 的随机整数
- Tensorflow去掉warning
- 2022AI决策智能实践:美宜佳
- 微信公众号给女友推送消息,无需手写代码(超全)
- ERROR: Encountered errors while bringing up the project.
- UICollectionView 自定义布局教程: Pinterest
- php基础笔试题与答案解析(1)
- 基于PHP+MySQL的小型购物系统网站
- 学前端没这些工具怎么行
- 2020电工(初级)模拟考试系统及电工(初级)模拟考试软件
- ps4手柄usb线连接后可以玩电脑游戏
- ARM最高处理器架构:cortex-a57 哪年能出来?
热门文章
- 极路由+花生壳内网版配置
- Jquery如何获取当前元素的id?
- 普通视图和物化视图的区别(转)
- 模拟电路技术之基础知识(二)
- 一、什么是Nginx? Nginx的作用是什么?
- static 函数和变量
- differential privacy 学习笔记(一)
- linux升级内核后vnc显示没有桌面,Intel NUC(NUC6i3SYH)在不接显示器的情况下VNC不显示桌面(Ubuntu 18.04)...
- 【webrtc】视频特效的添加(15)
- OnTimeAction