數據備份可分為:熱備份、冷備份和溫備份。熱備份可以在數據庫運行中直接備份,對正在運行的數據庫操作沒有任何的影響。冷備份必須在數據庫停止的情況下進行備份,數據庫的讀寫操作不能執行。溫備份在數據庫運行中進行,備份時僅支持讀操作,不支持寫操作。
本教程操作環境:Windows7系統、Dell G3電腦。
推薦教程:mysql視頻教程
備份是以防萬一的一種必要手段,在出現硬件損壞或非人為的因素而導致數據丟失時,可以使用備份恢復數據,以將損失降低到最小程度,因此備份是必須的。備份可以分為以下幾個類型。
根據備份的方法(是否需要數據庫離線)可以將備份分為:
-
熱備(Hot Backup)
-
冷備(Cold Backup)
-
溫備(Warm Backup)
熱備份可以在數據庫運行中直接備份,對正在運行的數據庫操作沒有任何的影響,數據庫的讀寫操作可以正常執行。這種方式在 mysql 官方手冊中稱為 Online Backup(在線備份)。
冷備份必須在數據庫停止的情況下進行備份,數據庫的讀寫操作不能執行。這種備份最為簡單,一般只需要復制相關的數據庫物理文件即可。這種方式在 MySQL 官方手冊中稱為 Offline Backup(離線備份)。
溫備份同樣是在數據庫運行中進行的,但是會對當前數據庫的操作有所影響,備份時僅支持讀操作,不支持寫操作。
按照備份后文件的內容,熱備份又可以分為:
-
邏輯備份
-
裸文件備份
在 MySQL 數據庫中,邏輯備份是指備份出的文件內容是可讀的,一般是文本內容。內容一般是由一條條 SQL 語句,或者是表內實際數據組成。如 mysqldump 和 select * INTO OUTFILE 的方法。這類方法的好處是可以觀察導出文件的內容,一般適用于數據庫的升級、遷移等工作。但其缺點是恢復的時間較長。
裸文件備份是指復制數據庫的物理文件,既可以在數據庫運行中進行復制(如 ibbackup、xtrabackup 這類工具),也可以在數據庫停止運行時直接復制數據文件。這類備份的恢復時間往往比邏輯備份短很多。
按照備份數據庫的內容來分,備份又可以分為:
-
完全備份
-
部分備份
完全備份是指對數據庫進行一個完整的備份,即備份整個數據庫,如果數據較多會占用較大的時間和空間。
部分備份是指備份部分數據庫(例如,只備份一個表)。
部分備份又分為:
-
增量備份
-
差異備份
增量備份需要使用專業的備份工具。指的是在上次完全備份的基礎上,對更改的數據進行備份。也就是說每次備份只會備份自上次備份之后到備份時間之內產生的數據。因此每次備份都比差異備份節約空間,但是恢復數據麻煩。
差異備份指的是自上一次完全備份以來變化的數據。和增量備份相比,浪費空間,但恢復數據比增量備份簡單。
MySQL 中進行不同方式的備份還要考慮存儲引擎是否支持,如 MyISAM 不支持熱備,支持溫備和冷備。而 InnoDB 支持熱備、溫備和冷備。
一般情況下,我們需要備份的數據分為以下幾種:
-
表數據
-
二進制日志、InnoDB 事務日志
-
代碼(存儲過程、存儲函數、觸發器、事件調度器)
-
服務器配置文件
想要查閱更多相關文章,請訪問mysql視頻教程!!