宝塔数据库误删恢复教程

  • 内容
  • 相关

开始本教程之前请先检查下你的回收站是不是开着,因为宝塔环境默认是开着的,或者数据库是否有近期备份文件,假如回收站开着或者数据库有备份,那么恭喜你,你可以直接恢复了,下面的这些内容就不再需要了。

宝塔数据库误删恢复教程插图
现在请继续阅读本教程,假如你的数据库能够恢复,请在第一时间内开启数据回收站,并增加计划任务里的网站和数据库备份。

在本教程的这种方法里,想要完成mysql的删库恢复,你的mysql必须开启了二进制日志,万幸的是宝塔面板下这一功能是默认开启的,想要确定你的mysql是否开启,最直接的办法,就是去/www/server/data目录下,看看有没有几个mysql-bin文件,像下图这样的:

宝塔数据库误删恢复教程插图1
结尾数字可能不是从1开始的,但只要有,那就说明可以继续下一步,假如没有,那么尝试全盘搜索mysql-bin文件,假如哪都没有,那本教程将不适合你。

操作之前,请将mysql-bin文件全部备份下,以免失误带来不可逆的损失。

服务器中假如有其他的数据库,也请提前备份下。

完成备份后我们远程连接服务器用root权限使用以下命令

/www/server/mysql/bin/mysqlbinlog --start-datetime="2021-05-20 15:30:01" --stop-datetime="2021-08-24 12:30:50"/www/server/data/mysql-bin.0000* > redata.sql
其中的/www/server/mysql/bin/mysqlbinlog是mysqlbinlog程序的位置,这样写的好处是不用增加配置系统环境变量,start和stop是划定时间段,注意结束时间不能是删除数据库之后的时间,也就是整个时间段必须在删除数据库之前,假如无法精确,那尽量提前到几天前,开始的时间要早于数据库建立的时间,假如记不清,那可以删掉开始时间,简写为

/www/server/mysql/bin/mysqlbinlog --stop-datetime="2021-08-24 12:30:50" /www/server/data/mysql-bin.0000* > redata.sql
以根据mysql-bin文件的大小和修改时间,确定某个具体的mysql-bin文件,那也可以写具体文件名,例如mysql-bin.000001,一般对应的文件都比较大。

运行上面的命令后进入root目录下查看是否出现了redata.sql文件,该文件大小应该远大于删掉的数据库大小,假如没有生成该文件或者该文件过小,那么尝试下面这条命令

/www/server/mysql/bin/mysqlbinlog --base64-output=DECODE-ROWS -v -d 数据库名 /www/server/data/mysql-bin.0000* > redata.sql
假如一切顺利,你的数据库会恢复到删除前的状态,但有些情况下只能部分恢复。

本次教程到此就结束了如果对您有用不妨评论支持一下

如果你觉得雨滴资源网对你有帮助的话,可以小小的打赏一下小站,用于维持本站的运营!

本文标签:

版权声明:雨滴资源网内容来源于互联网,如果有侵权内容、不妥之处,请第一时间联系我们删除。敬请谅解!

本文链接:宝塔数据库误删恢复教程 - https://www.yudzy.com/4042.html

失效提示:此文更新于2022-8-4,如果文章内容或图片资源失效,请留言反馈,客服会及时处理,谢谢!