innobackupex的備份參數解析 A、數據備份 通常一般都直接使用innobackupex,因為它能同時備份InnoDB和MyISAM引擎的表。要注意的是my.cnf裡datadir這個參數是必須要指定的,xtrabackup_55是根據它去定位innodb數據文件的位置。 innobackupex語法 BASH innobackup [--sleep=MS] [--compress[=LEVEL]] [--include=REGEXP] [--user=NAME] [--password=WORD] [--port=PORT] [--socket=SOCKET] [--no-timestamp] [--ibbackup=IBBACKUP-BINARY] [--slave-info] [--stream=tar] [--defaults-file=MY.CNF] [--databases=LIST] [--remote-host=HOSTNAME] BACKUP-ROOT-DIR innobackup --apply-log [--use-memory=MB] [--uncompress] [--defaults-file=MY.CNF] [--ibbackup=IBBACKUP-BINARY] BACKUP-DIR innobackup --copy-back [--defaults-file=MY.CNF] BACKUP-DIR 各參數說明: --defaults-file 同xtrabackup的--defaults-file參數 --apply-log 對xtrabackup的--prepare參數的封裝 --copy-back 做數據恢復時將備份數據文件拷貝到MySQL服務器的datadir ; --remote-host=HOSTNAME 通過ssh將備份數據存儲到進程服務器上; --stream=[tar] 備份文件輸出格式, tar時使用tar4ibd , 該文件可在XtarBackup binary文件中獲得.如果備份時有指定--stream=tar, 則tar4ibd文件所處目錄一定要在$PATH中(因為使用的是tar4ibd去壓縮, 在XtraBackup的binary包中可獲得該文件)。 在使用參數stream=tar備份的時候,你的xtrabackup_logfile可能會臨時放在/tmp目錄下,如果你備份的時候並發寫入較大的話xtrabackup_logfile可能會很大(5G+),很可能會撐滿你的/tmp目錄,可以通過參數--tmpdir指定目錄來解決這個問題。 --tmpdir=DIRECTORY 當有指定--remote-host or --stream時, 事務日志臨時存儲的目錄, 默認采用MySQL配置文件中所指定的臨時目錄tmpdir --redo-only --apply-log組, 強制備份日志時只redo ,跳過rollback。這在做增量備份時非常必要。 --use-memory=# 該參數在prepare的時候使用,控制prepare時innodb實例使用的內存量 --throttle=IOS 同xtrabackup的--throttle參數 --sleep=是給ibbackup使用的,指定每備份1M數據,過程停止拷貝多少毫秒,也是為了在備份時盡量減小對正常業務的影響,具體可以查看ibbackup的手冊 ; --compress[=LEVEL] 對備份數據迚行壓縮,僅支持ibbackup,xtrabackup還沒有實現; --include=REGEXP 對xtrabackup參數--tables的封裝,也支持ibbackup。備份包含的庫表,例如:--include="test.*",意思是要備份test庫中所有的表。如果需要全備份,則省略這個參數;如果需要備份test庫下的2個表:test1和test2,則寫成:--include="test.test1|test.test2"。也可以使用通配符,如:--include="test.test*"。 --databases=LIST 列出需要備份的databases,如果沒有指定該參數,所有包含MyISAM和InnoDB表的database都會被備份; --uncompress 解壓備份的數據文件,支持ibbackup,xtrabackup還沒有實現該功能; --slave-info, 備份從庫, 加上--slave-info備份目錄下會多生成一個xtrabackup_slave_info 文件, 這裡會保存主日志文件以及偏移, 文件內容類似於:CHANGE MASTER TO MASTER_LOG_FILE='', MASTER_LOG_POS=0 --socket=SOCKET 指定mysql.sock所在位置,以便備份進程登錄mysql.