溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

【MySQL】Xtrabackup備份工具使用

發(fā)布時(shí)間:2020-05-25 22:24:20 來源:網(wǎng)絡(luò) 閱讀:696 作者:wangkunj 欄目:MySQL數(shù)據(jù)庫(kù)

簡(jiǎn)介:

Xtrabackup是由percona提供的mysql數(shù)據(jù)庫(kù)備份工具,支持在線熱備份(備份時(shí)不影響數(shù)據(jù)讀寫).
Xtrabackup有兩個(gè)主要的工具:xtrabackup、innobackupex
1、xtrabackup只能備份InnoDB和XtraDB兩種數(shù)據(jù)表,而不能備份MyISAM數(shù)據(jù)表
2、innobackupex是參考了InnoDB Hotbackup的innoback腳本修改而來的.innobackupex是一個(gè)perl腳本封裝,封裝了xtrabackup。主要是為了方便的 同時(shí)備份InnoDB和MyISAM引擎的表,但在處理myisam時(shí)需要加一個(gè)讀鎖。并且加入了一些使用的選項(xiàng)。如slave-info可以記錄備份恢 復(fù)后,作為slave需要的一些信息,根據(jù)這些信息,可以很方便的利用備份來重做slave。

本文將介紹如何用innobackupex工具做全量和增量備份。
安裝:

yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm
yum install percona-xtrabackup-24

# 可使用innobackupex -verion檢查版本 若出現(xiàn)版本號(hào)則安裝成功
# innobackupex --help 可查看參數(shù)幫助

備份前準(zhǔn)備:
修改InnoDB為獨(dú)立表空間模式,即在my.cnf中[mysqld]下設(shè)置innodb_file_per_table=1
建議創(chuàng)建一個(gè)單獨(dú)的備份目錄 例:/xbackup
全備:

innobackupex --defaults-file=/etc/my.cnf  --user=root --password='yourpassword'  /xbackup
# 出現(xiàn)completed OK!則代表備份成功,文件會(huì)保存至一個(gè)以時(shí)間戳命名的目錄內(nèi)。

恢復(fù):
若全部恢復(fù),則需要先停止mysql服務(wù),還需確保mysqldata目錄下無文件

service mysqld stop
innobackupex  --apply-log  /xbackup/2017-09-07_09-50-11/
# apply-log稱作準(zhǔn)備階段,是為了保持?jǐn)?shù)據(jù)一致性,回滾備份過程中未提交的事務(wù),提交已提交的事務(wù)
innobackupex --defaults-file=/etc/my.cnf  --copy-back /xbackup/2017-09-07_09-50-11/
chown -R mysql:mysql /mysqldata
service mysqld start

單表恢復(fù)

innobackupex  --apply-log --export /xbackup/2017-09-07_15-53-53/
# 若t1表數(shù)據(jù)誤刪 確保表結(jié)構(gòu)存在
ALTER TABLE t1 DISCARD TABLESPACE;
cp /xbackup/2017-09-07_15-53-53/test/t1.{ibd,exp,cfg}  /mysqldata/test/
chown -R mysql:mysql /mysqldata
ALTER TABLE t1 IMPORT TABLESPACE;

增量備份與恢復(fù):

innobackupex --defaults-file=/etc/my.cnf  --user=root --password='xxxxxx'  --no-timestamp  --incremental  /xbackup/inc1 --incremental-basedir=/xbackup/2017-09-07_09-50-11
# 恢復(fù)
service mysqld stop
innobackupex --apply-log /xbackup/2017-09-07_09-50-11/  --incremental-dir=/xbackup/inc1/
innobackupex  --copy-back /xbackup/2017-09-07_09-50-11/
chown -R mysql:mysql /mysqldata
service mysqld start
向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI