宝塔linux面板mysql数据库误删恢复过程

宝塔面板的mysql自动开启了binlog功能~ 也就是说我们可以直接通过binlog方式恢复宝塔误删的数据。

首先找到宝塔面板的/www/server/data文件夹,找到mysql-bin.xxxxx之类的文件

我这里是mysql-bin.000012、mysql-bin.000011,

你是什么时候删掉的数据库,删除时间应该差不多都记得吧,

比如是 2021/06/15 这天删掉的数据,就把mysql-bin.000012这个文件还原成 .sql文件

怎么还原呢?在终端中输入如下命令:

# 注意:mysqlbinlog的文件位置 与 mysql-bin.000012的文件位置,可能跟你那的位置稍微有点区别
/www/server/mysql/bin/mysqlbinlog --base64-output=DECODE-ROWS -v /www/server/data/mysql-bin.000012 > /www/1.sql

这样就能把这文件的备份数据还原出来了~

我们看看解压出来的内容(在 /www/1.sql):

嗯,一大堆无用数据……怎么办呢?我们需要进行筛选,这里我使用的是vscode,由于我删的是整个数据库,所以我在vscode中搜索了这个关键词(增删改)

正则表达式如下:

^.*((INSERT INTO `)|(UPDATE `)|(DELETE FROM `)).*$

然后使用vscode自带的功能,更改所有匹配项,选中包含这个关键词的所有行后,在复制到一个新标签页中

这个数据看起来舒服多了,上面那些表结构对于我来说没有意义就删掉了,我把后面的insert、delete、update等操作保留下来,

再在每行末尾上加个分号(也可以使用vscode进行一键操作),最后保存一下(后缀为.sql

然后直接去phpMyAdmin上或其他图形化工具上,导入该sql脚本文件就行了~

注意执行顺序,然后这个库就完整恢复啦~!

注意:并不是所有的数据都能恢复回来的哈,可能有些数据看起来会很乱不好恢复,或者恢复了又出现什么问题......  这个等你们试过一遍就知道了,嘿嘿[旺柴]

所以请大家千万要注意数据库备份!!!

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值