MySQL之災難恢復

2021-07-22 20:39:47 字數 2031 閱讀 9047

檢視bin-log日誌狀態

show master status;   //在mysql中執行

檢視bin-log檔案

mysqlbinlog --shop-pos256 檔名 | less;

引數說明:

--shop-pos256(表示只檢視某個節點之前的)

less (表示分頁)

重新整理日誌(新建乙個檔案重新記錄,封存老的檔案)

flush logs;

清空日誌(刪除所有日誌檔案)

reset master;

開啟bin-log

1.檢視bin-log命令是否開啟

先登入mysql,檢視bin-log命令是否開啟

show variables like 『%bin%』;  //搜尋bin相關的命令

如果bin-log命令未開啟,則退出mysql,編輯配置檔案

exit;  //退出mysql

2.編輯mysql配置檔案

設定日誌檔案的檔名(字首)

檢視bin-log日誌狀態

show master status; //檢視狀態

bin-log檔案,安放在mysql安裝目錄下

實驗

驗證目標:

完整備份 + bin-log日誌 實現 資料實時還原

實驗步驟:

1.建立乙個表新增幾個使用者

2.做乙個完整備份(模擬每天凌晨3點的完整資料備份,清空所有bin-log)

3.做增刪改操作

4.誤刪除所有資料

5.嘗試還原

1.封存bin-log日誌

2.還有完整備份

3.從bin-log日誌裡面取出有效部分(不包含錯誤操作)還有到資料庫

4.資料還原好後,做乙個完整備份,清空所有bin-log日誌(防止下次操作過時命令)

具體實驗操作:

在完成1-4條操作後,我們來嘗試資料還原

1.封存bin-log日誌

flush logs; 

2.先將完整備份的檔案還原,然後準備binlog日誌中的資料還原

3.先開啟檢視日誌檔案

mysqlbinlog /var/lib/mysql/binlog.000001 | less

4.然後找出錯誤操作在哪個節點之後

例:錯誤的sql語句在 「at 605」後面

5.檢視日誌檔案中,節點605之前的資料記錄,判斷是否是錯誤操作之前的操作

mysqlbinlog –stop-pos950 /var/lib/mysql/binlog.000001 | less

6.如果資料記錄沒錯,則進行還原操作

還原方法有兩種:

1.將資料存入sql檔案,再將sql檔案中的資料,還原到資料庫

mysqlbinlog –stop-pos950 /var/lib/mysql/binlog.000001 > ~/new.sql

//儲存資料到家目錄下

2.利用管道符,將取到的資料,作為sql操作直接還原到資料庫

mysqlbinlog –stop-pos950 /var/lib/mysql/binlog.000001 | mysql –u root –p

//前面取到的資料結果,會作為後面命令的引數執行,相當於節點605前的資料,又在mysql中執行了一遍

7.再做一次完整備份,並清空所有bin-log

reset master;  //清空bin-log

CISSP備考系列之災難恢復計畫 10 34

cissp是小眾,與mcse,ccna一類的不同,資料很少。本人在準備cissp考試。總結一些考點,供大家參考 內容主要是 cissp認證考試權威指南 第4版 的讀書筆記,感謝作者和譯者,替他們宣傳一下。關於bcp和drp之間的關係,我們之前討論過 bcp與drp的關係 bcp首先被應用,如果bcp...

災難恢復報告

我的公司對日軟體外包企業,主要從事 it專案開發及維護工作。公司除了總經理和副總經理外主要有人事財務部,開發部,主機部三個部門,對於經理來說,重要的資料是關於客戶的資訊,合同等內容,基本儲存於經理自己的個人電腦內。對於人事財務部來說,儲存的資料有員工資訊,財務報表等資訊,這些資訊基本分布在財務部門各...

AD災難恢復

此文適用於異機恢復。其實有兩個及以上,或者不同站點的全域性編錄ad server,基本就可以杜絕災難恢復了。當fsmo壞了,直接奪取角色,再刪除損壞的節點就好了。前期準備 1.備份介質 2.新的ad伺服器,與備份的系統版本相同,服務角色相同,計算機名稱相同,磁碟分割槽相同。過程 1.建立好新的ad伺...