您好,登錄后才能下訂單哦!
簡介:
Xtrabackup是由percona提供的mysql數據庫備份工具,支持在線熱備份(備份時不影響數據讀寫).
Xtrabackup有兩個主要的工具:xtrabackup、innobackupex
1、xtrabackup只能備份InnoDB和XtraDB兩種數據表,而不能備份MyISAM數據表
2、innobackupex是參考了InnoDB Hotbackup的innoback腳本修改而來的.innobackupex是一個perl腳本封裝,封裝了xtrabackup。主要是為了方便的 同時備份InnoDB和MyISAM引擎的表,但在處理myisam時需要加一個讀鎖。并且加入了一些使用的選項。如slave-info可以記錄備份恢 復后,作為slave需要的一些信息,根據這些信息,可以很方便的利用備份來重做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檢查版本 若出現版本號則安裝成功
# innobackupex --help 可查看參數幫助
備份前準備:
修改InnoDB為獨立表空間模式,即在my.cnf中[mysqld]下設置innodb_file_per_table=1
建議創建一個單獨的備份目錄 例:/xbackup
全備:
innobackupex --defaults-file=/etc/my.cnf --user=root --password='yourpassword' /xbackup
# 出現completed OK!則代表備份成功,文件會保存至一個以時間戳命名的目錄內。
恢復:
若全部恢復,則需要先停止mysql服務,還需確保mysqldata目錄下無文件
service mysqld stop
innobackupex --apply-log /xbackup/2017-09-07_09-50-11/
# apply-log稱作準備階段,是為了保持數據一致性,回滾備份過程中未提交的事務,提交已提交的事務
innobackupex --defaults-file=/etc/my.cnf --copy-back /xbackup/2017-09-07_09-50-11/
chown -R mysql:mysql /mysqldata
service mysqld start
單表恢復
innobackupex --apply-log --export /xbackup/2017-09-07_15-53-53/
# 若t1表數據誤刪 確保表結構存在
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;
增量備份與恢復:
innobackupex --defaults-file=/etc/my.cnf --user=root --password='xxxxxx' --no-timestamp --incremental /xbackup/inc1 --incremental-basedir=/xbackup/2017-09-07_09-50-11
# 恢復
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
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。