您好,登錄后才能下訂單哦!
這篇“數據庫的數據備份方式有哪些”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“數據庫的數據備份方式有哪些”文章吧。
有3種備份方式:1、冷備份,也稱離線備份,是指在關閉數據庫并且數據庫不能更新的狀況下進行的數據庫完整備份,并可對數據進行指定恢復。2、熱備份,也稱聯機備份,是在數據庫運行的情況下,采用archivelog mode方式備份數據庫的方法。3、邏輯備份,是指使用軟件技術從數據庫中導出數據并寫入一個輸出文件,該文件的格式一般與原數據庫的文件格式不同,只是原數據庫中數據內容的一個映像。
本教程操作環境:windows7系統、Dell G3電腦。
按數據備份時數據庫狀態的不同有3種備份方式:冷備份(離線備份)、熱備份(聯機備份)、邏輯備份。
數據庫的冷備份
冷備份(cold backup),也被稱為離線備份,是指在關閉數據庫并且數據庫不能更新的狀況下進行的數據庫完整備份,并可對數據進行指定恢復。
這樣做的好處是可以保證數據庫的完整性,備份過程簡單且恢復速度相對快一些,但是關閉數據庫會影響現有業務的進行。服務器停止運行期間,用戶不能再繼續訪問網站。例如,一些電商網站店慶促銷時,如果為了備份要停庫,那么帶來的代價損失將不可估量。所以冷備一般用于不是很重要、非核心的業務上面。
冷備份是最快和最安全的方法。冷備份的優點是:
1、 是非常快速的備份方法(只需拷文件)
2、 輕易歸檔(簡單拷貝即可)
3、 輕易恢復到某個時間點上(只需將文件再拷貝回去)
4、 能與歸檔方法相結合,做數據庫“最佳狀態”的恢復。
5、 低度維護,高度安全。
但冷備份也有如下不足:
1、 單獨使用時,只能提供到“某一時間點上”的恢復。
2、 再實施備份的全過程中,數據庫必須要作備份而不能作其他工作。也就是說,在冷備份過程中,數據庫必須是關閉狀態。
3、 若磁盤空間有限,只能拷貝到磁帶等其他外部存儲設備上,速度會很慢。
4、 不能按表或按用戶恢復。
假如可能的話(主要看效率),應將信息備份到磁盤上,然后啟動數據庫(使用戶可以工作)并將備份的信息拷貝到磁帶上(拷貝的同時,數據庫也可以工作)。
冷備份中必須拷貝的文件包括:
1、 所有數據文件
2、 所有控制文件
3、所有聯機REDO LOG文件
4、 Init.ora文件(可選)
值得注重的使冷備份必須在數據庫關閉的情況下進行,當數據庫處于打開狀態時,執行數據庫文件系統備份是無效的。
數據庫的熱備份
熱備份是在數據庫運行的情況下,采用archivelog mode方式備份數據庫的方法。即熱備份是系統處于正常運轉狀態下的備份。所以,如果你有一個冷備份而且又有熱備份文件,在發生問題時,就可以利用這些資料恢復更多的信息。熱備份要求數據庫在Archivelog( ) 方式下操作,并需要大量的檔案空間。一旦數據庫運行在archivelog狀態下,就可以做備份了。
熱備份的命令文件由三部分組成:
1. 數據文件一個表空間一個表空間的備份。
(1) 設置表空間為備份狀態
(2) 備份表空間的數據文件
(3) 回復表空間為正常狀態
2. 備份歸檔log文件
(1) 臨時停止歸檔進程
(2) log下那些在archive rede log目標目錄中的文件
(3) 重新啟動archive進程
(4) 備份歸檔的redo log文件
3. 用alter database bachup controlfile命令來備份控制文件熱備份的優點是:
可在表空間或數據庫文件級備份,備份的時間短。
備份時數據庫仍可使用。
可達到秒級恢復(恢復到某一時間點上)。
可對幾乎所有數據庫實體做恢復
恢復是快速的,在大多數情況下愛數據庫仍工作時恢復。
熱備份的不足是:
1. 不能出錯,否則后果嚴重
2. 若熱備份不成功,所得結果不可用于時間點的恢復
3. 因難于維護,所以要非凡仔細小心,不答應“以失敗告終”。
數據庫的邏輯備份
邏輯備份是指使用軟件技術從數據庫中導出數據并寫入一個輸出文件,該文件的格式一般與原數據庫的文件格式不同,只是原數據庫中數據內容的一個映像。因此,邏輯備份文件只能用來對數據庫進行邏輯恢復,即數據導入,而不能按數據庫原來的存儲特征進行物理恢復。邏輯備份一般用于增量備份,即備份那些在上次備份以后改變的數據。
邏輯備份: 備份的是建表、建庫、插入等操作所執行SQL語句(DDL DML DCL),適用于中小型數據庫,效率相對較低。
**本質:**導出的是SQL語句文件
**優點:**不論是什么存儲引擎,都可以用mysqldump備成SQL語句
**缺點:**速度較慢,導入時可能會出現格式不兼容的突發情況,無法做增量備份和累計增量備份。
提供三種級別的備份,表級,庫級和全庫級
注意:
數據一致,服務可用:如何保證數據一致,在備份的時候進行鎖表會自動鎖表。鎖住之后在備份。
本身為客戶端工具: 遠程備份語法: # mysqldump -h 服務器 -u用戶名 -p密碼 數據庫名 > 備份文件.sql 本地備份語法: # mysqldump -u用戶名 -p密碼 數據庫名 > 備份文件.sql
常用備份選項
-A, --all-databases
備份所有庫
例:mysqldump -uroot -p'QianFeng@123' -A > /opt/a.sql
解析:-A后面不需要指定東西,直接備份整個庫
-B, –databases bbs test mysql
備份多個數據庫
例:mysqldump -uroot -p'QianFeng@123' -B db1 db2 db3 > /opt/a.sql
解析:-B 后面可以跟多個數據庫,使用空格隔開
導出指定表
例:mysqldump -uroot -p'QianFeng@123' db1 table1 table2 > /opt/a.sql
解析:如果不加-B,后面默認是 庫名 表名 表名 ,后面的表必須是前面的庫里面的,庫名是唯一的,但是表名不是。
–no-data,-d
不導出任何數據,只導出數據庫表結構。
例:mysqldump -uroot -p'QianFeng@123' db1 -d > /opt/a.sql
解析:-d 前面需要指定好我們要備份什么數據,-d指的是只導出表的結構。
以上就是關于“數據庫的數據備份方式有哪些”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。