Mysql 之 完全備份 增量備份 備份恢復

2021-10-10 05:26:00 字數 1936 閱讀 1641

一、資料備份的重要性

在生產環境中,資料的安全性是至關重要的,任何資料的丟失都可能產生嚴重的後果造成資料丟失的原因:

程式錯誤人為錯誤計算機失敗磁碟失敗災難(如火災、**)和偷竊

二、資料庫備份的分類

2.1、從物理與邏輯的角度

備份可分為:

物理備份:對資料庫作業系統的物理檔案(如資料檔案、日誌檔案等)的備份。

物理備份又可以分為離線備份(冷備份)和聯機備份(熱備份)。

冷備份:是在關閉資料庫的時候進行的。熱備份:資料庫處於執行狀態,這種備份方法依賴於資料庫的日誌檔案。 邏輯備份:對資料庫邏輯元件(如表等資料庫物件)的備份。

2.2、從資料庫的備份策略角度

備份可分為:

完全備份:每次對資料進行完整的備份差異備份:備份那些自從上次完全備份之後被修改過的檔案增量備份:只有那些在上次完全備份或者增量備份後被修改的檔案才會被備份

三、完全備份

完全備份是對整個資料庫的備份、資料庫結構和檔案結構的備份完全備份儲存的是備份完成時刻的資料庫完全備份是增量備份的基礎

3.1、完全備份的優點

備份與恢復操作簡單方便。

3.2、完全備份的缺點

資料存在大量的重複。占用大量的備份空間。備份與恢復時間長。

四、mysqldump備份庫

mysql資料庫的備份可以採用用多種方式

直接打包資料庫資料夾,如/usr/ocal/mysql/data使用專用備份工具mysqldump mysqldump命令

mysql自帶的備份工具,相當方便對mysql進行備份通過該命令工具可以將指定的庫、表或全部的庫匯出為sql指令碼,在需要恢復時可進行資料恢復

4.1、備份單個庫

mysqldump命令對單個庫進行完全備份

單庫備份例子

4.2、備份多個庫

mysqldump命令對多個庫進行完全備份

4.3、備份所有庫

五、資料庫的恢復

使用mysqldump命令匯出的sql備份指令碼,在進行資料恢復時可使用以下方法匯入

source命令mysql命令

5.1、source命令恢復

使用source恢復資料庫的步驟

登入到mysql資料庫執行source 備份sql指令碼的路徑

注意:當備份檔案中只包含表的備份,而不包括建立庫的語句時,必須指定庫名,且目標庫必須存在。

模擬環境:把資料庫student的stu01表刪除

六、增量備份

使用mysqldump進行完全備份的存在的問題

備份資料中有重複資料備份時間與恢復時間長 增量備份就是備份自上一次備份之後增加或變化的檔案或者內容

6.1、增量備份的優點

沒有重複的備份資料備份的資料量不大備份所需的時間也很短

6.2、增量備份的缺點

備份恢復比較麻煩,需要用上次完全備份及完全備份之後所有的增量備份才能恢復。要對所有增量備份進行逐個反推恢復。

6.3、增量備份的方法

mysql沒有提供直接的增量備份方法可以通過mysql提供的二進位制日誌 (binary logs) 間接實現增量備份mysql二進位制日誌對備份的意義

二進位制日誌儲存了所有更新或者可能更新資料庫的操作二進位制日誌在啟動mysql伺服器後開始記錄,並在檔案達到max_binlog_size所設定的大小或者接收到flush logs命令後重新建立新的日誌檔案只需定時執行flush logs方法重新建立新的日誌,生成二進位制檔案序列,並及時把這些舊的日誌儲存到安全的地方就完成了乙個時間段的增量備份

mysql增量備份幾種 mysql的增量備份

一 啟用 binary log 修改 mysql server 的系統設定檔案 eg.etc my.cnf 在 mysqld 區塊中加上 log bin mysql bin 選項,然後重新啟動 mysql server,例如 mysqld log bin 啟用後你應該可以在 mysql 的 data...

系統完全備份 增量備份

最近專案遇到需要對資料庫和檔案進行備份操作,主要涉及 完全備份 增量備份 條件備份等,一直思考也沒什麼好的思路。網上最多的是針對與資料庫進行shell命令呼叫的備份,屬於資料庫級的備份,沒有提下業務級的備份。目前做法是為了避免web服務壓力,單獨做了備份小組件,放到一台伺服器中。外掛程式負責啟動服務...

完全備份 增量備份和差異備份

在進行資料備份時,可以採用不同的備份策略,主要的備份策略一般分為完全備份 增量備份和差異備份,我們分別來介紹。完全備份完全備份是指把所有需要備份的資料全部備份。當然,完全備份可以備份整塊硬碟 整個分割槽或某個具體的目錄。完全備份的好處是資料恢復方便,因為所有的資料都在同乙個備份中,所以只要恢復完全備...