如何恢復使用「drop database」命令丟棄的mysql數據庫?我有權訪問二進制日誌,這應該使這種類型的回滾成爲可能。如何使用mysql二進制日誌從drop database命令進行恢復?
回答
文檔吮吸。它暗示DROP DATABASE是可恢復的,但只在奇數條件我不熟悉http://dev.mysql.com/doc/refman/5.0/en/binary-log.html
根據文檔,binlogs僅僅是基於給定的參考點執行的命令序列。所以,當你做了「DROP DATABASE」,而不是「哦,他丟棄了數據庫,我們現在應該備份,以防萬一」它只是寫了一個「DROP DATABASE」到最後一個binlog。恢復並不像向後播放磁帶那麼簡單。
您需要做的是從最後一次已知的數據庫中恢復數據庫,並應用該恢復點和DROP命令之間發生的二進制日誌。
http://dev.mysql.com/doc/refman/5.0/en/recovery-from-backups.html
一個如何確定哪些binlogs到壽,不清楚使用。
沒有比完整文件系統備份更好的了。而且你至少應該有這些迴歸。
如果您沒有數據庫的備份,那麼您運氣不好。 丟棄數據庫是永久性的。
假設您有備份,二進制日誌包含自該備份以來發生的事情。使用mysqlbinlog工具,你可以這樣做:
mysqlbinlog可以the_log_file> update.sql
雖然我想你可能需要編輯該文件刪除任何你不想再次執行(如DROP DATABASE聲明)。
祝你好運!
這真的很整潔!非常感謝您指出。 – Pitto 2013-10-03 09:13:49
沒有備份沒有派對。
所以我會回答:
要永遠在你的情況重新安裝超簡單,超強大automysqlbackup(如果你在Linux上):
命令和apt-get安裝automysqlbackup
,將其配置:
須藤納米/等/默認/ automysqlbackup
然後自動上傳其內容DRO pbox,ubuntu一個或類似的。
只有這樣快樂地生活:)
只是爲了補充肯特弗雷德裏克的答案,你可以,如果你使用的是二進制日誌,因爲數據庫的創建回滾drop database
命令。
這可以作爲評論添加,而不是'回答' – 2015-06-01 06:59:10
- 1. 恢復後的MySQL二進制日誌
- 2. 如何從二進制日誌mysql中恢復特定的表中的數據?
- 3. 二進制日誌MySQL的
- 4. 如何通過sql命令知道mysql二進制日誌是否啓用?
- 5. 啓用MySQL二進制日誌
- 6. 選擇登錄mysql二進制日誌
- 7. 實時MySQL二進制日誌解析
- 8. postgres複製命令,二進制文件
- 9. 如何刷新二進制日誌
- 10. MySQL主從複製似乎只是更新從站上的二進制日誌
- 11. mysql二進制日誌只有日誌刪除
- 12. NLog啓用從命令行進行日誌記錄
- 13. MySQL備份和從命令行恢復
- 14. PuppetLabs MYSQL drop database
- 15. 使用二進制blob恢復MySQL轉儲
- 16. MySQL二進制日誌支持日誌記錄Uid嗎?
- 17. 使用mysqlbinlog進行Mysql數據恢復
- 18. 如何從命令行打印二進制雙數組(unix)
- 19. 如何從命令行CVS提交二進制文件?
- 20. 使用mySQL二進制日誌記錄的Coldfusion問題?
- 21. 如何從mysql命令行恢復mysql xml數據庫文件?
- 22. 如何Base64使用shell命令對MD5二進制字符串進行編碼?
- 23. MySQL集羣:如何解碼/解釋二進制日誌?
- 24. PHP和mysql的二進制日誌文件
- 25. 如何從MySQL二進制日誌中刪除特定的查詢
- 26. 如何使用官方Docker鏡像啓用MySQL二進制日誌記錄?
- 27. 從MySQL二進制日誌流數據到Kinesis
- 28. 如何創建二進制日誌使用Log4J的
- 29. 可以配置mysql複製以防止複製drop database嗎?
- 30. MySQL DROP DATABASE權限?
真的嗎?我認爲日誌記錄了一切。你能更深入地解釋一下嗎? – 2008-09-18 00:06:34