MySQL中truncate误操作后的数据恢复案例
2017-09-11 03:49
351 查看
MySQL中truncate误操作后的数据恢复案例
这篇文章主要介绍了MySQL中truncate误操作后的数据恢复案例,主要是要从日志中定位到truncate操作的地方然后备份之前丢失的数据,需要的朋友可以参考下实际线上的场景比较复杂,当时涉及了truncate, delete 两个操作,经确认丢数据差不多7万多行,等停下来时,差不多又有共计1万多行数据写入。 这里为了简单说明,只拿弄一个简单的业务场景举例。
测试环境: Percona-Server-5.6.16
日志格式: mixed 没起用gtid
表结构如下:
?
–t1时间 程序写入:
?
?
?
?
?
?
利用: show binary logs; 查看当的log文件分布, 然后利用show binlog events in ‘binary log文件'; 查看log文件的内容,目的是找到truncate发生的日志位置。
另外因为基于备份(由log的启始位置)或是从量log, 如果基于备份有log的起始位置,我们需要处理的log文件是启始位置到发生truncate的日值(后面的数据处理不了,会发生主建冲突的错误造成truncate后的数据不能恢复),
如果是全量日志,需要从创建完mysql后库后的日志去处理到当前的发生truncate的位置(后面数据会因为主建冲突写不进去)
恢复准备工作,创建一个库用于恢复数据,这里创建了一个re_wubx, 及原结构的表: tb_wubx (相当于恢复了备份,过程省略)
?
在这个案例里我只用cover住mysql-bin.000004这个文件。
?
这个恢复可以从mysql-bin.000004 pos: 4到mysql-bin.000004 pos: 633 即:
?
?
相关文章推荐
- MySQL中truncate误操作后的数据恢复案例
- MySQL中truncate误操作后的数据恢复案例
- MySQL中truncate误操作后的数据恢复案例
- mysql存储过程使用CURSOR操作多列数据实用案例
- MySQL 数据库增量数据恢复案例
- MySQL误操作后如何快速恢复数据?
- MySQL误操作后快速恢复数据的方法
- mysql 回滚,撤销操作,恢复数据
- mysql(2)——mysql基础 数据操作 DQL 数据恢复
- Mysql之binlog日志说明及利用binlog日志恢复数据操作记录
- 分析案例:哪些操作导致IBM X225上无法成功恢复数据
- mysql 利用二进制日志来进行恢复数据的实例操作
- MySQL误操作后如何快速恢复数据
- MySQL 日志的启用与关闭,日志记录操作,方便恢复数据
- 在mysql 安装后可以启动 bin-log 功能,以记录数据库的数据操作的记录,必要时候恢复数据,
- 误操作删除数据文件恢复案例讨论
- 使用mysql备份工具innobackupex进行本地数据备份、恢复操作实例
- MySQL(用户管理,常用sql语句,数据库备份恢复,MySQL调优,恢复误操作数据)
- MYSQL常用操作(二),MYSQL用户管理,数据备份恢复
- MYSQL插入数据,修改数据,误操作怎么恢复实例