mysql数据库被勒索删库怎么办

栏目: 数据库 · 发布时间: 3个月前

来源: juejin.im

本文转载自:https://juejin.im/post/5d1c4a3ee51d4550bf1ae8cb,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有。

今天早晨,打开 数据库 一看,保存的数据全不见了,只剩下一个叫PLEASE_READ_ME_VVV的数据库。

里面写着

To recover your lost Database and avoid leaking it: Send us 0.045 Bitcoin (BTC) to our Bitcoin address 1McksxpysJGSG9a9zHvan5f8Y1nfpDbVYF and contact us by Email with your Server IP or Domain name and a Proof of Payment. Your Database is downloaded and backed up on our servers. Backups that we have right now: *. 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 10 Days, we will make your database public or use them otherwise.

翻译过来就是:

要恢复丢失的数据库并避免泄漏:请将0.045比特币(BTC)发送到我们的比特币地址1Mcksxpysjgsg9a9zhvan5f8y1nfpdbvyf,并通过电子邮件与您的服务器IP或域名和付款证明联系。您的数据库已下载并备份到我们的 服务器 上。我们现在拥有的备份:*。任何没有您的服务器IP地址或域名和付款证明一起的电子邮件都将被忽略。如果我们在未来10天内没有收到您的付款,我们将公开您的数据库或使用它们。

被勒索了。

第一步,打开谷歌寻找解决办法。看到这篇博文,遇到了同样的问题。

数据库被人勒索比特币惨遭删库 www.printf520.com/single.html…

以下内容,针对具体情况进行进一步处理。

第二步,查看自已是否打开了 mysql 的binlog

SHOW VARIABLES LIKE 'log_bin%';
复制代码
+---------------------------------+---------------------------------------+
| Variable_name                   | Value                                 |
+---------------------------------+---------------------------------------+
| log_bin                         | ON                                    |
| log_bin_basename                | /usr/local/var/mysql/mysql-bin       |
| log_bin_index                   | /usr/local/var/mysql/mysql-bin.index |
| log_bin_trust_function_creators | OFF                                   |
| log_bin_use_v1_row_events       | OFF                                   |
| sql_log_bin                     | ON                                    |
+---------------------------------+---------------------------------------+
6 rows in set (0.00 sec)
复制代码

log_bin是ON说明mysql是开启了binlog的,找到了binlog的位置,在

/usr/local/var/mysql/mysql-bin

于是

cd /usr/local/var/mysql
复制代码
mysql数据库被勒索删库怎么办

其中的mysql-bin.00000*就是binlog文件。

binlog是Mysql sever层维护的一种二进制日志,与innodb引擎中的redo/undo log是完全不同的日志;其主要是用来记录对mysql数据更新或潜在发生更新的SQL语句,并以"事务"的形式保存在磁盘中;

作用主要有:

  • 复制:MySQL Replication在Master端开启binlog,Master把它的二进制日志传递给slaves并回放来达到master-slave数据一致的目的
  • 数据恢复:通过mysqlbinlog工具恢复数据
  • 增量备份

然后我们打开最新的binlog文件,在文件的最后几行,你会发现令人窒息的操作

mysql数据库被勒索删库怎么办

好了,这下我明白了,人家直接drop了。

第三步:使用binlog恢复文件

原理就是binlog保存了你所有的数据库操作,相当于你重新执行了在执行drop之前所有的增删改查。

那么我们就需要找到发生删除的时间点。如上图所示,# 190622 9:32:19

所以使用mysqlbinlog恢复数据库

在/usr/local/var/mysql 目录下执行

mysqlbinlog --start-datetime='2019-01-01 00:00:00' --stop-datetime='2019-06-24 10:30:00' mysql-bin.000001 |  mysql -h 123.45.678.9 -u root -p -P 3306
复制代码

其中

start-datetime=为你想恢复的起始位置,一般为刚创建数据库的时候

stop-datetime=为被删库之前的时间,只要是被删库之前就可以

mysql-bin.000001为要恢复的binlog文件,将所有相关的mysql-bin都写上,以逗号隔开

mysql -h 123.45.678.9 -u root -p -P 3306 为你的远程数据库地址

123.45.678.9为远程ip

root为用户名

3306为端口号

第四步:恢复完成

如果第三步出错,一般都在于没有选择合适的起始和终止时间,这个需要自己去寻找

恢复过程视数据库大小时间长短不定

参考资料:

www.printf520.com/single.html…


以上所述就是小编给大家介绍的《mysql数据库被勒索删库怎么办》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

关注码农网公众号

关注我们,获取更多IT资讯^_^


为你推荐:

相关软件推荐:

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数据库系统概念

数据库系统概念

(美)Abraham Silberschatz、(美)Henry F.Korth、(美)S.Sudarshan / 杨冬青、李红燕、唐世渭 / 机械工业出版社 / 2012-3 / 99.00元

【编辑推荐】 数据库领域的殿堂级作品 夯实数据库理论基础,增强数据库技术内功的必备之选 对深入理解数据库,深入研究数据库,深入操作数据库都具有极强的指导作用! 【内容简介】 本书是数据库系统方面的经典教材之一,其内容由浅入深,既包含数据库系统基本概念,又反映数据库技术新进展。它被国际上许多著名大学所采用,包括斯坦福大学、耶鲁大学、得克萨斯大学、康奈尔大学、伊利诺伊大学......一起来看看 《数据库系统概念》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

随机密码生成器
随机密码生成器

多种字符组合密码

SHA 加密
SHA 加密

SHA 加密工具