Mysql误删数据恢复方法-mysqlbinlog

这里写一下MySql 数据误删除的恢复过程。这里采用的方式是mysqlbinlog的日志恢复

首先,mysql要配置开启bin-log。查看my.ini文件(默认是my-default.ini),在文件后面加入

log-bin = mysql-bin

另外,配置一下bin-log的格式,我这里使用了mixed。在文件后面加入

binlog_format = mixed

如下:

bin-log有3种格式,每种格式都有好处,这里带上API,https://dev.mysql.com/doc/internals/en/binlog-formats.html

-----------------------------------------------------------------------------------------

然后重启mysql

进入mysql , 输入show variables like '%bin%'; 查看是否开启binlog。 如下图:

 

为ON 代表开启,接着我们新建一个数据表,来进行测试。下面是一些基本的mysql操作,就不一一介绍了,直接上图

数据给误删除了,接着我们要进行恢复。

打开mysql的安装目录,在Data(数据库)文件夹里面,可以看到一些mysql-bin.xxxxxx文件。如:

这些都是二进制文件,我们找到最新的那一个,mysql-bin.000004. 接着我们需要把它转成sql文件。如何转????

在cmd中,进入mysql的bin目录,然后输入

mysqlbinlog "mysql-bin.000004文件的路径" > "目标sql保存路径"。如:

接着在目标路径可以找到目标sql,这里我的路径时d盘根目录下的test.sql。我们把这文件给打开。会发现里面有许多日志信息,包括一些执行过的sql。我在最后面看到了我刚刚的delete操作。

做了删除操作,我们得把数据给insert 回去,继续看日志,会发现

 

我们的任务就是把目标起点到目标终点的事重新做一遍。

mysqlbinlog "mysql-bin.000004的路径" --start-position=目标起点 --stop-position=目标终点 | mysql -u root -p

如图:

接着我们再去查一下数据库,发现刚刚删除的数据又回来了

 

 

以上就是这个数据误删除的日志恢复流程。也是数据误删除的日志恢复方式。

 

此刻,你们是否有这种感觉,没意义呀。如果我数据一个月了呢?一年了呢?,要找回所有的数据怎么可能?

很直接告诉你,只靠这种方式几乎不可能恢复的很全。

 

主从数据备份+日志,才是正解。好好学习

 

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值