mysql 慢查詢日志,mysql刪除的數據庫怎么還原?
在解決的過程中,以下幾種嘗試:
1.如果開啟了日志,直接mysqlbinlog 使用日志恢復即可。
2.如果不是刪除了一個表的部分數據,而是刪除整個表,那么可以在刪除后馬上用磁盤數據恢復軟件嘗試恢復。
(因為刪除表后會有文件被刪除,而刪除表的部分數據,文件還是存在)
3.找數據恢復的公司,使用工具分析ibdata1(分析過程參考一頁一頁查看有沒有歷史記錄存在,使用ibdata1恢復數據,應該是在了解數據表結構的前提下,數據庫除ibdata1外其他數據受損不能正常使用數據庫時嘗試,而不是刪了表數據后恢復什么的。
(事實上,這個文件是存儲現有表數據的,其實也可以設置成每個表一個文件。)
4.mysql下有ib_logfile0和ib_logfile1兩個文件,其實這兩個文件里,記錄了Mysql的一些事物日志,用于事務的前滾后滾,是Mysql自身使用的,這個文件用文本工具打開后,有很多亂碼,但卻可以查找到被刪除的少量數據的insert記錄,極少數的亂碼通過前后語句找出了原文,最終通過事物日志恢復了刪除的文件。注:用事物日志恢復,需要幾個前提。
1:知道被刪除數據的大概位置,不要這邊查找,那邊又不斷有新數據插入。
2:因為有很多亂碼,適用于查找少量數據,而不是用作大量數據的恢復,浪費體力。
3:如果二進制日志沒開,沒有備份,那么只能用這種方法恢復了。