最近真是蛋疼,公司一個客戶老是半夜打電話過來,各類問題各類故障,昨天凌晨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文件,再導入數據庫恢復吧