xtrabackup備份工具
創(chuàng)新互聯(lián)是專業(yè)的宿豫網(wǎng)站建設(shè)公司,宿豫接單;提供成都網(wǎng)站設(shè)計、成都做網(wǎng)站,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行宿豫網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!下載地址 https://www.percona.com/downloads/XtraBackup/LATEST/
Xtrabackup有兩個主要的工具:xtrabackup、innobackupex
1、xtrabackup只能備份InnoDB和XtraDB兩種數(shù)據(jù)表,而不能備份MyISAM數(shù)據(jù)表 ,不能備份表結(jié)構(gòu)
2、innobackupex是參考了InnoDB Hotbackup的innoback腳本修改而來的.innobackupex是一個perl腳本封裝,封裝了xtrabackup。主要是為了方便的 同時備份InnoDB和MyISAM引擎的表,但在處理myisam時需要加一個讀鎖。并且加入了一些使用的選項。如slave-info可以記錄備份恢 復(fù)后,作為slave需要的一些信息,根據(jù)這些信息,可以很方便的利用備份來重做slave。
xtrabackup
備份時常規(guī)參數(shù)
--defaults-file=#
默認(rèn)配置文件的路徑,如果不該參數(shù),xtrabackup將從依次從以下位置查找配置文件/etc/my.cnf、/etc/mysql/my.cnf、/usr/local/etc/my.cnf、~/.my.cnf,并讀取配置文件中的[mysqld]和[xtrabackup]配置段。[mysqld]中只需要指定datadir、innodb_data_home_dir、innodb_data_file_path、innodb_log_group_home_dir、innodb_log_files_in_group、innodb_log_file_size6個參數(shù)即可讓xtrabackup正常工作。
--defaults-extra-file=#
如果使用了該參數(shù),在讀取了全局配置文件之后,會再讀取這里指定的配置文件
--target-dir=name
備份文件的c目錄路徑
--backup
實施備份到target-dir
--prepare
實施對備份文件進(jìn)行恢復(fù)前的準(zhǔn)備(生成InnoDB log file)
--print-param
打印備份或恢復(fù)時需要的參數(shù)
--use-memory=#
該參數(shù)在 prepare的時候使用,控制prepare時innodb實例使用的內(nèi)存量
--suspend-at-end
在target-dir目錄下產(chǎn)生一個xtrabackup_suspended文件,將xtrabackup進(jìn)程掛起,不停地將數(shù)據(jù)文件的變化同步到備份文件,直到用戶手工刪除xtrabackup_suspended文件
--throttle=#
每秒IO次數(shù),限制backup時使用的I/O操作量,使備份對數(shù)據(jù)庫正常業(yè)務(wù)的影響最小化
--log-stream
該參數(shù)在backup的時候使用,將xtrabackup_logfile的內(nèi)容輸出到標(biāo)準(zhǔn)輸出,使用該參數(shù)時會自動使用suspend-at-end參數(shù),innobackupex腳本的stream模式會使用該參數(shù)。
--incremental-lsn=name
增量備份時只拷貝LSN比該參數(shù)指定值新的ibd pages,前次備份到了哪個LSN可以看前次備份集的xtrabackup_checkpoints文件
--incremental-basedir=name
該參數(shù)在backup的時候使用,備份比該參數(shù)指定位置的備份集新的idb pages
--incremental-dir=name
該參數(shù)在prepare的時候使用,指定prepare時產(chǎn)生的.delta文件和日志文件的存放路徑
--databases=name
--tables=name
在備份file-per-table類型的數(shù)據(jù)文件時使用,使用正則表達(dá)式指定需要備份的innodb表
--datadir=name
MySQL數(shù)據(jù)庫的數(shù)據(jù)文件目錄。
--stream
生成壓縮文件,速度比較慢
全備的備份還原:
xtrabackup --defaults-file=/data/work/mysql-5.5.38/data/mysql3306/my3306.cnf --backup --target-dir=/data/bak_test/1
給備份做恢復(fù)前準(zhǔn)備。
xtrabackup --defaults-file=/data/work/mysql-5.5.38/data/mysql3306/my3306.cnf --prepare --target-dir=/data/bak_test/1
增量備份:
給增量備份做恢復(fù)前準(zhǔn)備
xtrabackup --defaults-file=/data/work/mysql-5.5.38/data/mysql3306/my3306.cnf --prepare --target-dir=/data/bak_test/2
拷貝備份到數(shù)據(jù)庫目錄下
修改權(quán)限并重啟數(shù)據(jù)
重啟
innobackupex
常規(guī)參數(shù)
--defaults-file
同xtrabackup的--defaults-file參數(shù)
--apply-log
對xtrabackup的--prepare參數(shù)的封裝
--copy-back
做數(shù)據(jù)恢復(fù)時將備份數(shù)據(jù)文件拷貝到MySQL服務(wù)器的datadir;
--remote-host=HOSTNAME
通過ssh將備份數(shù)據(jù)存儲到進(jìn)程服務(wù)器上;
--stream=[tar]
備份文件輸出格式, tar時使用tar4ibd ,該文件可在XtarBackup binary文件中獲得.如果備份時有指定--stream=tar,則tar4ibd文件所處目錄一定要在$PATH中(因為使用的是tar4ibd去壓縮,在XtraBackup的binary包中可獲得該文件)。
在使用參數(shù)stream=tar備份的時候,你的xtrabackup_logfile可能會臨時放在/tmp目錄下,如果你備份的時候并發(fā)寫入較大的話xtrabackup_logfile可能會很大(5G+),很可能會撐滿你的/tmp目錄,可以通過參數(shù)--tmpdir指定目錄來解決這個問題。
--tmpdir=DIRECTORY
當(dāng)有指定--remote-host or --stream時,事務(wù)日志臨時存儲的目錄,默認(rèn)采用MySQL配置文件中所指定的臨時目錄tmpdir
--redo-only --apply-log組,
強制備份日志時只redo ,跳過rollback。這在做增量備份時非常必要。
--use-memory=#
該參數(shù)在prepare的時候使用,控制prepare時innodb實例使用的內(nèi)存量
--throttle=IOS
同xtrabackup的--throttle參數(shù)
--sleep=是給ibbackup使用的,指定每備份1M數(shù)據(jù),過程停止拷貝多少毫秒,也是為了在備份時盡量減小對正常業(yè)務(wù)的影響,具體可以查看ibbackup的手冊 ;
--compress[=LEVEL]
對備份數(shù)據(jù)迚行壓縮,僅支持ibbackup,xtrabackup還沒有實現(xiàn);
--include=REGEXP
對xtrabackup參數(shù)--tables的封裝,也支持ibbackup。備份包含的庫表,例如:--include="test.*",意思是要備份test庫中所有的表。如果需要全備份,則省略這個參數(shù);如果需要備份test庫下的2個表:test1和test2,則寫成:--include="test.test1|test.test2"。也可以使用通配符,如:--include="test.test*"。
--databases=LIST
列出需要備份的databases,如果沒有指定該參數(shù),所有包含MyISAM和InnoDB表的database都會被備份;
--uncompress
解壓備份的數(shù)據(jù)文件,支持ibbackup,xtrabackup還沒有實現(xiàn)該功能;
--slave-info,
備份從庫,加上--slave-info備份目錄下會多生成一個xtrabackup_slave_info文件,這里會保存主日志文件以及偏移,文件內(nèi)容類似于:CHANGE MASTER TO MASTER_LOG_FILE='', MASTER_LOG_POS=0
--socket=SOCKET
指定mysql.sock所在位置,以便備份進(jìn)程登錄mysql.
--databases=name
指定要備份的庫
--tables=name
在備份file-per-table類型的數(shù)據(jù)文件時使用,使用正則表達(dá)式指定需要備份的innodb表
--incremental-basedir=上一個備份目錄
--incremental 增量備份
全備 innobackupex --user=root --password=xxxxx--defaults-file=/data/work/mysql-5.5.38/data/mysql3306/my3306.cnf /data/bak_test/3
恢復(fù)前的準(zhǔn)備 xtrabackup --defaults-file=/data/work/mysql-5.5.38/data/mysql3306/my3306.cnf --prepare --target-dir=/data/bak_test/3/2015-05-28_09-59-28
apply-log,為了加快速度,一般建議設(shè)置--use-memory,這個步驟完成之后,目錄/backup/mysql/data/2013-10-29_09-05-25下的備份文件已經(jīng)準(zhǔn)備就緒
拷貝數(shù)據(jù)到數(shù)據(jù)庫數(shù)據(jù)目錄下對文件進(jìn)行權(quán)限修改啟動數(shù)據(jù)。
增量備份:
增量備份需要基于全備,先假設(shè)我們已經(jīng)有了一個全備(x )或基于上一個增量備份之上,在該全表的基礎(chǔ)上做增量備份。
--defaults-file=/data/work/mysql-5.5.38/data/mysql3306/my3306.cnf --user=root --password=xxxx --incremental-basedir=/data/bak_test/3/2015-05-28_10-23-35 --incremental /data/bak_test/
曾備的還原
模式
innobackupex --apply-log --redo-only BASE-DIR
innobackupex --apply-log --redo-only BASE-DIR --incremental-dir=INCREMENTAL-DIR-1
innobackupex --apply-log BASE-DIR --incremental-dir=INCREMENTAL-DIR-2
其中BASE-DIR是指全備目錄,INCREMENTAL-DIR-1是指第一次的增量備份,INCREMENTAL-DIR-2是指第二次的增量備份,以此類推。
第一步是在所有備份目錄下重做已提交的日志
innobackupex --apply-log --redo-only /data/bak_test/3/2015-05-28_10-23-35
innobackupex --apply-log --redo-only /data/bak_test/3/2015-05-28_10-23-35 --incremental-dir=/data/bak_test/2015-05-28_10-34-11
回滾未完成的日志:
innobackupex --apply-log /data/bak_test/3/2015-05-28_10-23-35
準(zhǔn)備數(shù)據(jù) prepare ,恢復(fù)前的準(zhǔn)備 xtrabackup --defaults-file=/data/work/mysql-5.5.38/data/mysql3306/my3306.cnf --prepare --target-dir=/data/bak_test/3/2015-05-28_10-23-35
拷貝數(shù)據(jù)到數(shù)據(jù)庫目錄下并修改權(quán)限啟動數(shù)據(jù)即可。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。