數據庫備份類型
一、熱備份 溫備份 冷備份
熱備份:數據讀寫不受影響
溫備份:僅可以執行讀操作
冷備份:離線備份、讀寫均終止
二、物理備份 邏輯備份
物理備份:複製數據文件
邏輯備份:將數據導出成文本文件
三、完全備份 增量備份 差異備份
完全備份:備份所有數據
增量備份:僅備份上次完全備份或增量備份變化的數據
差異備份:僅備份上次完全備份以來所有變化的數據
mysqldump是mysql自帶的備份工具,它可以實現對MyISAM表的溫備份和對innodb表的熱備份。但是它的還原速度很慢,在備份小型數據庫時,使用很方便。使用mysqldump溫備份時應先對數據庫進行鎖表,使其僅能進行讀操作。集體步驟應爲:
1mysql>flush tables with read lock;
2mysqldump備份 新打開一個連接進行備份,上述鎖表只對當前會話有效
3mysql>unlock tables;
上述的這些操作,mysqldump命令參數就能完成,mysqldump常用的命令參數:
#mysqldump -u user -p
--all-databases 備份所有數據庫,還原時不需要先創建這些數據庫
--lock-all-tables 表示鎖定所有表
--master-data=n
n=0 表示不記錄日誌文件位置
n=1 表示使用CHANGE MASTER TO的方式記錄
n=2 表示使用CHANGE MASTER TO的方式記錄,但默認註釋,一般使用n=2
--flush-logs 執行二進制日誌滾動,便於備份二進制日誌
以上爲常用參數,
如果備份表類型均爲innodb類型,則可以使用--single-transaction來啓動熱備,此時就不需要--lock-all-tables來鎖定表。