数据库被勒索删除,解决方法

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

突然数据库被黑了有一条勒索信息:
To recover your lost Database send 0.018 Bitcoin (BTC) to our Bitcoin address: bc1qe4yefrptv2k8shawu3h84j0n8kyvxfk4wwate5 After this, contact us by email with your Server IP or Domain Name and a Proof of Payment (Payment ID). Your Database is downloaded and backed up on our servers. Backups that we have right now: tiku. Any email without your server IP Address or Domain Name and a Proof of Payment together will be ignored. If we dont receive your payment in the next 5 Days, we will delete or leak your sensitive information.
在这里插入图片描述
说到底还是自身安全做的不够反思

先说解决方法。

是否开启binlog

先进入mysql命令行输入以下命令。

SHOW VARIABLES LIKE 'log_bin%';

在这里插入图片描述
可以看到logbin已经是开启的并且下方是logbin所在的目录

进入logbin的目录

cd /www/server/data
ls -l

在这里插入图片描述
这些bin文件就是我们的logbin。
我们可以通过修改时间判断哪个一出现了问题我发现问题时是1月18日刚好这个修改日期就是这个
ps: 因为之后我修改过所以时间变了但是日期是同一天。

找到mysqlbinlog 的位置

find  / -name mysqlbinlog -print

在这里插入图片描述
如果/usr/bin没有可以软连接一下。

导出sql文件

mysqlbinlog --no-defaults -v --base64-output=decode-rows mysql-bin.000012 > nov3.sql
#替换你的logbin文件名和想要输出的sql文件名

打开sql文件

寻找被删除点

直接翻到末尾可以看到全部给drop了。

我们先找到在哪里开始删除我们数据库。
在这里插入图片描述
因为数据库多了一个新建的从这里开始下手ctrl+F搜索。

在这里插入图片描述
可以看到从这里开始创建数据库并创建了readme表。
根据上面的时间可以推断出这里是开始删除我们数据库的位置。
在这里插入图片描述
记下删除时的偏移量11177392

寻找起始位置

在这里插入图片描述

起始位置偏移量在头部4

开始恢复

 # --start-position="4" 起始位置偏移量
 # --stop-position="11177392" 删库时候的偏移量
mysqlbinlog --no-defaults mysql-bin.000012 --start-position="4" --stop-position="11177392" | mysql -u root -p

输入root密码回车即可。

中途可能报很多错可能是数据量太大引起的错误或者是重复插入之类的都是sql脚本本身的问题找到对应的问题就可以解决。

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: 数据库