项目_MySQL服务器被入侵,数据丢失,一招教你恢复数据【已恢复】

【已恢复】MySQL服务器被入侵,数据丢失,一招教你恢复数据

0、前言

当时在宝塔安装了MySQL5.7,然后当时只是测试,就直接设置用户名和密码为root,今天在Navicat突然登录不上了,于是在linux下登录MySQL,只剩下一个ReadMe文件,于是打开看了一下:

以下数据库已被删除:dbeco。 我们有完整的备份。 要恢复它,您必须向我们的比特币地址xxxx支付xx比特币(BTC)。 如果您需要证明,请通过以下电子邮件与我们联系。 xxx@xxx.com 。 任何与付款无关的邮件都将被忽略!

然后想着,完蛋了。因为我没有备份数据库。
后来我在网上找了一些数据库恢复方法(mysqlbinlog),今日于此,同大家分享。

版权声明:本文为CSDN博主「第四维度4」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_46079439/article/details/121775088


1、恢复方法

1.1、找到日志文件

找到MySQL的安装目录,如果不记得可以通过ps -ef | grep mysql 查看运行的路径。

在这里我的路径是/www/server/mysql/,但是它的日志存储文件在/www/server/data/,日志文件名字如:mysql-bin.000004 ,找最新的那个。

可以通过mysqlbinlog命令查看具体日志,mysqlbinlog 命令应该在mysql的bin文件目录下,建议都使用绝对路径。

/www/server/mysql/bin/mysqlbinlog /www/server/data/mysql-bin.000004

1.2、找到恢复(破坏)点

比如我的数据库被破坏是在 end_log_pos 15100838 这个位置。

1.3、回滚(重新执行)

/www/server/mysql/bin/mysqlbinlog --stop-position=15100838 --database=dbeco /www/server/data/mysql-bin.000004 | /www/server/mysql -uroot -proot -v dbeco
!!可能在恢复的时候会出现数据库已经存在,不要去删数据库再操作,在末尾加 -f 选项忽略错误即可

1.4、查看数据库

#登录数据库
mysql -uroot -p密码
#查看数据库表
mysql>show databases;
#查看表的内容
mysql> use dbeco;
mysql> show tables;
mysql> select * from dbeco;

然后可以看到数据库的内容恢复回来了。


但是在Navicat依然没有办法正常连接,暂时不知道具体原因,只好把数据库表的内容进行备份(在这里不做详细描述),然后删掉MySQL,重新安装,重新配置,备份还原。如果有其他好方法可以分享,谢谢。
不要设置简单密码!!!
记得定期备份数据库!!!


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值