mysql数据库被勒索删库怎么办
mysql數(shù)據(jù)庫被勒索刪庫怎么辦
打開數(shù)據(jù)庫一看,保存的數(shù)據(jù)全不見了,只剩下一個叫PLEASE_READ_ME_VVV的數(shù)據(jù)庫。
里面寫著
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.
翻譯過來就是:
要恢復(fù)丟失的數(shù)據(jù)庫并避免泄漏:請將0.045比特幣(BTC)發(fā)送到我們的比特幣地址1Mcksxpysjgsg9a9zhvan5f8y1nfpdbvyf,并通過電子郵件與您的服務(wù)器IP或域名和付款證明聯(lián)系。您的數(shù)據(jù)庫已下載并備份到我們的服務(wù)器上。我們現(xiàn)在擁有的備份:*。任何沒有您的服務(wù)器IP地址或域名和付款證明一起的電子郵件都將被忽略。如果我們在未來10天內(nèi)沒有收到您的付款,我們將公開您的數(shù)據(jù)庫或使用它們。
被勒索了。
第一步,打開谷歌尋找解決辦法。看到這篇博文,遇到了同樣的問題。
數(shù)據(jù)庫被人勒索比特幣慘遭刪庫?www.printf520.com/single.html…
以下內(nèi)容,針對具體情況進行進一步處理。
第二步,查看自已是否打開了mysql的binlog
SHOW VARIABLES LIKE 'log_bin%'; 復(fù)制代碼 +---------------------------------+---------------------------------------+ | 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) 復(fù)制代碼log_bin是ON說明mysql是開啟了binlog的,找到了binlog的位置,在
/usr/local/var/mysql/mysql-bin
于是
cd /usr/local/var/mysql 復(fù)制代碼?
?
?
其中的mysql-bin.00000*就是binlog文件。
binlog是Mysql sever層維護的一種二進制日志,與innodb引擎中的redo/undo log是完全不同的日志;其主要是用來記錄對mysql數(shù)據(jù)更新或潛在發(fā)生更新的SQL語句,并以"事務(wù)"的形式保存在磁盤中;
作用主要有:
- 復(fù)制:MySQL Replication在Master端開啟binlog,Master把它的二進制日志傳遞給slaves并回放來達(dá)到master-slave數(shù)據(jù)一致的目的
- 數(shù)據(jù)恢復(fù):通過mysqlbinlog工具恢復(fù)數(shù)據(jù)
- 增量備份
然后我們打開最新的binlog文件,在文件的最后幾行,你會發(fā)現(xiàn)令人窒息的操作
?
?
?
好了,這下我明白了,人家直接drop了。
第三步:使用binlog恢復(fù)文件
原理就是binlog保存了你所有的數(shù)據(jù)庫操作,相當(dāng)于你重新執(zhí)行了在執(zhí)行drop之前所有的增刪改查。
那么我們就需要找到發(fā)生刪除的時間點。如上圖所示,# 190622 9:32:19
所以使用mysqlbinlog恢復(fù)數(shù)據(jù)庫
在/usr/local/var/mysql 目錄下執(zhí)行
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 復(fù)制代碼其中
start-datetime=為你想恢復(fù)的起始位置,一般為剛創(chuàng)建數(shù)據(jù)庫的時候
stop-datetime=為被刪庫之前的時間,只要是被刪庫之前就可以
mysql-bin.000001為要恢復(fù)的binlog文件,將所有相關(guān)的mysql-bin都寫上,以逗號隔開
mysql -h 123.45.678.9 -u root -p -P 3306 為你的遠(yuǎn)程數(shù)據(jù)庫地址
123.45.678.9為遠(yuǎn)程ip
root為用戶名
3306為端口號
第四步:恢復(fù)完成
如果第三步出錯,一般都在于沒有選擇合適的起始和終止時間,這個需要自己去尋找
恢復(fù)過程視數(shù)據(jù)庫大小時間長短不定
總結(jié)
以上是生活随笔為你收集整理的mysql数据库被勒索删库怎么办的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 最大化期望算法(EM)详解
- 下一篇: 百度云服务器连接SQLServer201