數據備份重要性:mysql
數據尤爲是一個公司的核心數據關係着公司的命脈,數據丟失能夠致使公司倒閉。
數據主要分爲兩大類:sql
文件類:數據庫
程序代碼、圖片、附件、軟件包、配置文件
數據(數據庫)類:安全
關係型數據庫(MySQL/MariaDB等)、非關係型數據庫(Redis、MongoDB等)
備份原則:工具
每日一備份,本地保存一份,遠程保存一份,根據數據重要性和磁盤空間決定保存週期。
文件類的備份:code
tar、scp、cp、rsync
數據類:進程
自帶工具實現備份(如,mysqldump、Xtrabackup)圖片
冷備份和熱備份it
1、 冷備份效率
冷備份發生在數據庫已經正常關閉的狀況下,當正常關閉時會提供給咱們一個完整的數據庫。冷備份時將要害性文件拷貝到另外的位置的一種說法。對於備份Oracle信息而言,冷備份時最快和最安全的方法。冷備份的優勢是: 1、 是很是快速的備份方法(只需拷文件) 2、 輕易歸檔(簡單拷貝便可) 3、 輕易恢復到某個時間點上(只需將文件再拷貝回去) 4、 能與歸檔方法相結合,作數據庫「最佳狀態」的恢復。 5、 低度維護,高度安全。 但冷備份也有以下不足: 1、 單獨使用時,只能提供到「某一時間點上」的恢復。 2、 再實施備份的全過程當中,數據庫必需要做備份而不能做其餘工做。也就是說,在冷備份過程當中,數據庫必須是關閉狀態。 3、 若磁盤空間有限,只能拷貝到磁帶等其餘外部存儲設備上,速度會很慢。 4、 不能按表或按用戶恢復。 假如可能的話(主要看效率),應將信息備份到磁盤上,而後啓動數據庫(使用戶能夠工做)並將備份的信息拷貝到磁帶上(拷貝的同時,數據庫也能夠工做)。冷備份中必須拷貝的文件包括: 1、 全部數據文件 2、 全部控制文件 3、全部聯機REDO LOG文件 4、 Init.ora文件(可選) 值得注重的使冷備份必須在數據庫關閉的狀況下進行,當數據庫處於打開狀態時,執行數據庫文件系統備份是無效的。
2、 熱備份
熱備份是在數據庫運行的狀況下,採用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. 可達到秒級恢復(恢復到某一時間點上)。 4. 可對幾乎全部數據庫實體作恢復 5. 恢復是快速的,在大多數狀況下愛數據庫仍工做時恢復。 熱備份的不足是: 1. 不能出錯,不然後果嚴重 2. 若熱備份不成功,所得結果不可用於時間點的恢復 3. 因難於維護,因此要非凡仔細當心,不答應「以失敗了結」。