首頁 >資料庫 >navicat >navicat刪除的資料能還原嗎

navicat刪除的資料能還原嗎

藏色散人
藏色散人原創
2019-08-15 13:39:0030246瀏覽

navicat刪除的資料能還原嗎?

navicat刪除的資料是可以還原的。

navicat刪除的資料能還原嗎

用navicat刪除資料庫中的入侵數據,導致刪順手了,把一些看似重複數據的重要數據在表中直接右鍵刪除掉了(相當於delete from table指令),而該資料庫並沒有做過這些資料的備份,同時也沒有開啟二進位日誌,常規的復原方法徹底走入死路。

在解決的過程中,做過以下幾種嘗試:

1.了解到如果開啟了日誌,直接mysqlbinlog 使用日誌復原即可。

2.如果不是刪除了一個表的部分數據,而是刪除整個表,那麼可以在刪除後馬上用磁碟數據恢復軟體嘗試恢復。 (因為刪除表後會有文件被刪除,而刪除表的部分數據,文件還是存在)

3.找數據恢復的公司,該公司號稱用ibdata1就能恢復,於是我使用工具分析ibdata1,一頁一頁查看有沒有歷史記錄存在,最後發現頁中只存放了現有資料。

而使用ibdata1恢復數據,應該是在了解數據表結構的前提下,資料庫除ibdata1外其他數據受損不能正常使用資料庫時嘗試,而不是刪了表數據後恢復什麼的。 (事實上,這個文件是儲存現有表格資料的,其實也可以設定成每個表格一個檔案。)

#4.最後發現mysql下有ib_logfile0和ib_logfile1兩個文件,其實這兩個文件裡,記錄了Mysql的一些事物日誌,用於事務的前滾後滾,是Mysql本身使用的,這個文件用文字工具打開後,有很多亂碼,但卻可以查找到被刪除的少量資料的insert記錄,極少數的亂碼透過前後語句找出了原文,最終透過事物日誌恢復了刪除的檔案。

相關推薦:《Navicat for mysql使用圖文教學

註:用事物日誌恢復,需要幾個前提。

1:知道刪除資料的大概位置,不要這邊查找,那邊又不斷有新資料插入。

2:因為有很多亂碼,適用於尋找少量數據,而不是用作大量數據的恢復,浪費體力。

3:如果二進位日誌沒開,沒有備份,那麼就只能用這種方法還原了。

以上是navicat刪除的資料能還原嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn