mysql被刪除的數據庫恢復 binlog恢復數據庫

最近真是蛋疼,公司一個客戶老是半夜打電話過來,各類問題各類故障,昨天凌晨1點又被吵醒···mysql

服務器上的mysql數據庫裏幾個重要的表被人惡意刪除了,我對mysql並不熟悉,但沒辦法,硬着頭皮也要上。sql

各類百度……數據庫

由於服務器有前一天備份,客服的衆多客戶要用,只有先恢復前一天的備份。bash

恢復以前,把mysql的二進制日誌文件下載了下來,只有在本地恢復了。服務器

若是你沒有打開二進制日誌,那就不要想恢復了···至少我是沒查到咋辦。日誌

打開方法:mysql配置文件中找到#log-bin=mysql-bin,並取消註釋便可。code

要用到mysqlbinlog,mysqlbinlog在mysql目錄bin裏,切換目錄後執行mysqlbinlog提示server

-bash: mysqlbinlog: command not found百度

找不到命令,那就先解決這個問題,解決方法:配置

find  / -name mysqlbinlog -print

如圖:

只有/www/server/mysql/bin/mysqlbinlog 一條記錄,這是我mysql的目錄

而後把mysqlbinlog作個軟鏈接到/usr/bin

 ln -fs /www/server/mysql/bin/mysqlbinlog /usr/bin

而後再執行find  / -name mysqlbinlog -print查看

你會發現多了一條,報錯忽略。如今,就能夠正常使用mysqlbinlog了。

個人作法是導出sql文本,在本地恢復,導出方法是:

mysqlbinlog /www/server/linshi/mysql-bin.000087 --start-datetime='2018-01-09 00:00:00' --stop-datetime='2018-01-10 00:00:00' > /www/server/linshi/1233.sql

/www/server/linshi/mysql-bin.000087  是日誌文件所在

/www/server/linshi/1233.sql 是要導出的位置

很快執行完畢,切換到相應目錄後就會看到1233.sql文件,再導入數據庫恢復吧