宝塔误删数据库怎么恢复?记录一下自己的操作流程

已经是前天晚上的事情了。有一个阿里云轻量应用服务器,我是安装的宝塔面板。登录上去把一些已经迁移到另外vps的网站进行了清理。开始我还是挺保险的,把网站在宝塔里停止之后,还在浏览器里访问了一下。发现正常才删除的。大概删除了三个。

结果昨天就发现问题了。有一个站点打不开了。ping了一下域名,才发现坏了。登录宝塔一看。果然被删掉了。找了一下备份文件最近的也只是11月24日的。也就是说有接近一个月的数据丢了。虽然这个站点是一个采集的站点。但我每天也差不多要花半个小时来更新。我是那种手动采集,然后图片上传图床的形式。不完全是自动。20多天,差不多应该有200篇的文章没了。

虽然说没有什么流量 ,一天就30来个ip。损失也不大。还是有点不爽。想把数据找回来。网上找了一圈教程。本身宝塔是有个数据库回收站的。然而默认的开有开启,倒是文件回收夹是默认开启的。

网上说唯一的方法是使用mysqlbinlog来恢复。也就是在data文件夹下,有一串形式如:mysql-bin.000001的文件,这个文件是以二进制的形式记录了所有数据库的操作。可以通过它来恢复。

教程着实看了头大。我把一下关键的指令记录一下。

1、找到mysqlbinlog这个文件的路径:

find / -name mysqlbinlog

效果如下图:

宝塔误删数据库怎么恢复?记录一下自己的操作流程_图片 No.1

2、查看mysql-bin.00001文件的内容,从这个文件里面找关键内容来进行恢复。

cd /www/server/data
/www/server/mysql/bin/mysqlbinlog mysql-bin.000014

宝塔误删数据库怎么恢复?记录一下自己的操作流程_图片 No.2

这个生成的是一些加密过的语句,看不太懂。可以通过另外一条指令来翻译过来:

/www/server/mysql/bin/mysqlbinlog --base64-output=decode-rows -v mysql-bin.000014

宝塔误删数据库怎么恢复?记录一下自己的操作流程_图片 No.3

也可以生成一个文本,下载到本地来看。

/www/server/mysql/bin/mysqlbinlog /www/server/mysql/bin/mysqlbinlog --base64-output=decode-rows -v mysql-bin.000014 >14.txt

3、恢复数据库:

/www/server/mysql/bin/mysqlbinlog --start-datetime='2019-11-25 10:00:00' --stop-datetime='2019-12-20 18:00:00' mysql-bin.000012 | mysql -uroot -p

虽然这看似研究透了,但最终也没有恢复这一个月的文章数据。也不知道问题出在哪里。还是说mysql-binxxx这个文件没有记录全。

参考文章:
https://blog.csdn.net/qq_15058425/article/details/61196085
https://blog.csdn.net/martingpf/article/details/82733786

未经允许不得转载:自学控 - 自己建站也轻松 » 宝塔误删数据库怎么恢复?记录一下自己的操作流程

分享到: 更多 (0)
avatar
自己建站,一点一滴积累经验。

自学控[zixuekong.com]

关于本站

登录

忘记密码 ?