宝塔数据库mysql误删除快速恢复

2 篇文章 0 订阅
1 篇文章 0 订阅

转载请注明: 藏羚骸的博客~宝塔数据库mysql误删除快速恢复.

新来的实习女大学生,在工作中,更新项目时一键清空大量数据表里的数据,是在没办法了找到我,仓皇失措泫然欲泣的,怕公司让自己承担损失,那么如何帮助这样的女孩子摆脱困境呢?

1.如果宝塔数据库有备份如下图,可以先恢复到备份那天的数据,做一个应急处理,让大部分用户可以继续使用

注意以上这步只是应急处理,会有部分订单和用户,也就是备份之后的数据丢失

2.想要完成mysql的删前恢复,mysql必须开启了二进制日志,宝塔面板下这一功能是默认开启的,想要确定你的mysql是否开启,最直接的办法,就是去/www/server/data目录下,看看有没有几个mysql-bin文件或者全盘搜索全盘搜索mysql-bin文件,像下图这样的:

如果没有这种数据,是否觉得经常出现 /www/server/data目录过大,一劳永逸图省事关掉这个功能那就真的芭比Q了。

注意:操作之前,将mysql-bin文件全部备份下,以免失误带来不可逆的损失。服务器中假如有其他的数据库,也请提前备份下。

开始操作

1.在宝塔终端或者ssh中root权限下,使用命令:

/www/server/mysql/bin/mysqlbinlog --start-datetime="2022-04-23 12:00:00" --stop-datetime="2022-05-11 11:00:00" /www/server/data/mysql-bin.0000* > redata.sql

其中的/www/server/mysql/bin/mysqlbinlog是mysqlbinlog程序的位置,这样写的好处是不用增加配置系统环境变量,start和stop是划定时间段,注意结束时间不能是删除数据库之后的时间,也就是整个时间段必须在删除数据库之前,假如无法精确,那尽量提前到几天前,开始的时间要早于数据库建立的时间,假如记不清,那可以删掉开始时间,简写为

/www/server/mysql/bin/mysqlbinlog --stop-datetime="2022-05-11 11:00:00" /www/server/data/mysql-bin.0000* > redata.sql

注意mysql-bin.0000*的写法是包含了全部所有的数据库信息,执行起来比较费时,假如你可以根据mysql-bin文件的大小和修改时间,确定某个具体的mysql-bin文件,那也可以写具体文件名,例如mysql-bin.000001,一般对应的文件都比较大。

2.进入 /www/server/data 目录下查看redata.sql或者全局搜索 redata.sql是否出现了

假如有了redate.sql文件,在数据库中新建数据库,数据库名最好和删掉的数据库同名,然后执行下面的命令:

mysql -uroot -p -f 新建数据库名 < redata.sql

假如一切顺利,你的数据库会恢复到删除前的状态,有些情况下只能部分恢复,比如我帮的这个女大生,恢复后一些关联并未生效,需要重新写程序关联一下,不清楚问什么会存在这个情况。

因为目前这种方法已经满足当下需求,也并未在使用其他方法,如果用到不是宝塔,或者mysql二进制关闭了,那本教程将不适合,搜索本站看看是否有其他方法。

转载请注明: 藏羚骸的博客~宝塔数据库mysql误删除快速恢复.

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值