您好,登錄后才能下訂單哦!
進入數據庫操作,難免會出現一些誤操作。這時就需要我們對數據進行恢復。一下介紹一下如何將表中的內容刪除后進行恢復的過程。
首先我們模擬一下實驗環境:
將數據庫安裝好之后進入到/etc/my.cnf中
查看是否啟用了日志功能(數據恢復是根據日志來進行恢復的。)
在此環境已經設置好了。
之后進入數據庫中新建一個庫命名未vianet_bss
進入庫中并新建一個表命名為stb_active
create table stb_active (SERVER_ID char(5),SERVER_CODE char(10),SERVER_NAME char(20),SERVER_DESC char(10),STATE char(5));
然后插入幾條數據
insert into可插入數據,之后表中出現幾條數據后我們的數據創建成功。
然后我們利用delete from stb_active where SERVER_ID=2我們將ID為2的內容給刪除,待會將它恢復。
再次查看ID為2的內容已經沒有了
之后我們利用ps -ef | grep mysql檢查到MySQLdata的位置位于何處,mysql-bin是放于data目錄之下的。
然后進入到data目錄中找到最新的那條日志查看一下。當然是亂碼的需要轉換成.sql后可以看見內容。
mysqlbinlog -u root -p123.com mysql-bin.000006 > /opt/backup/4.sql
然后vim /opt/backup/4.sql
找到相應的時間段,我們是在什么時候將內容刪除的。
然后找到剛才我們執行刪除內容的命令
并將它刪除掉,此時不能進行還原如果到這里你執行了還原的話會有數據重復。所以我們要將不是我們要還原的數據給刪除掉。避免重復,但要保證和數據庫里面的數據要一致。
以下是沒有將有效的數據從日志中刪除導致的結果
之后我將這里面的數據全部刪除最后重新導入一份數據進入數據恢復完成。
此實驗到此結束。
第一次發表寫的不是太好,還望多指教。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。