mysql備份工具

myownstars發表於2013-04-08

備份種類

物理備份/邏輯備份

線上備份/離線備份

本地備份/遠端備份:mysqldump支援遠端備份,select … into outfile也可以從遠端發起,但生存的檔案卻需在本地伺服器;

全庫備份/增量備份:預設增量只備份二進位制日誌,而xtrabackup透過比對LSN實現真正意義上的增量備份

快照備份:採用寫時複製原理,Veritas/LVM/ZFS

LVM採用寫時複製,建立快照時只複製後設資料;當原始捲上有寫操作時,將被改動的資料塊的前映象複製到快照空間;

讀取快照時,如果資料塊在建立快照後沒有修改過,直接重定向到原始卷,否則直接讀取快照中的原始資料;

更偏向於防範誤操作,可運用於slave伺服器上

 

也可在slave執行備份,減緩master的負載

 

對於MyISAM/InnoDB表,資料量較小時均可使用mysqldump,其中mysqldump –single-transaction不阻塞InnoDB大部分操作(DDL除外)

另一個通用的方法是關機冷備,innoDB最好設定innodb_fast_shutdown=0,以保證髒頁和merge insert buffer全部執行完畢;

 

需要指出的是,由於MyISAM只支援表鎖,不可能在不阻塞寫操作的情況下進行有效備份;

 

 

Mysqlhotcopy

是一個perl指令碼,使用flush tables/lock tablescp(scp)備份資料庫,只用於MyISAMarchive

mysqldump更快,屬於物理複製;

 

Xtrabackup

percona公司提供,免費;

Xtrabackup有兩個工具:xtrabackupinnobackupex,前者只能備份innodbxtradb;後者是一個perl指令碼封裝了xtrabackup,可備份MyISAM(施加讀鎖)

逐頁複製表檔案,每次讀取64個頁,即16K * 64 =1M;複製redo log時則每次讀取512K的資料;

Xtrabackup很好的實現了增量備份,原理如下:

進行完全備份,記錄檢查點LSN;進行增量備份,比較每個頁LSN和上次備份時的LSN,如果大於後者,則備份並記錄當前檢查點LSN

--backup:備份資料庫

--incremental-lsn:只複製比指定LSN高的ibd page,同—backup協同使用

 

完全備份 /backup/base

./xtrabackup –backup –target-dir=/backup/base

增量備份 /backup/delta

./xtrabackup –backup –target-dir=/backup/delta –incremental-basedir=/backup/base

準備階段

./xtrabackup –prepare –target-dir=/backup/base

應用增量備份

./xtrabackup –prepare –target-dir=/backup/base –incremental-dir=/backup/delta

 

Innodbackupex有時會出現超時現象   

 

Ibbackup

備份innodb,收費

備份過程

記錄開始備份時redo log的檢查點LSN;複製.ibd/.myi以及共享表空間檔案;記錄複製完成後redo的檢查點LSN;複製備份時產生的redo log

恢復過程

恢復表空間檔案;應用redo log

 

 

binlog增量備份和恢復

Mysql自帶的功能只支援備份binlog實現增量備份,恢復的時候需要mysqlbinlog應用binlog

 

Mysqlbinlog  host-bin.007  > tmp.sql Mysqlbinlog  binglog.log  | mysql

注:每個應用的binlog都會在$TMPDIR生成一個同等大小的臨時檔案,最好臨時指定$TMPDIR變數

TMPDIR=/my/big/disk/tmp; export TMPDIR

mysqlbinlog binlog.* > binlogdump.sql

 

應當一次處理所有的binlog

Mysqlbinlog binlog.001 binlog.002 … | mysql –u root –p

假定001建立了臨時表而002需要用到,若分兩次處理,則臨時表會在處理完001後刪除,導致002無法使用

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15480802/viewspace-757958/,如需轉載,請註明出處,否則將追究法律責任。

相關文章