mysqlinnobackupex增量備份

注意:innobackupex 增量備份僅針對InnoDB這類支持事務(wù)的引擎,對于MyISAM等引擎,則仍然是全備。
增量備份:
增量備份需要基于全備,先假設(shè)我們已經(jīng)有了一個全備(/backup/2016-12-07_17-33-09),我們需要在該全備的基礎(chǔ)上做增量備份。
全備
innobackupex --defaults-file=/home/MySQL/mysql_5535/etc/my.cnf --user=root --password=123456 /backup/
 
增量
innobackupex --defaults-file=/home/mysql/mysql_5535/etc/my.cnf --user=root --password=123456 --incremental-basedir=/backup/2016-12-07_17-33-09/ --incremental /backup
增量
 innobackupex --defaults-file=/home/mysql/mysql_5535/etc/my.cnf --user=root --password=123456 --incremental-basedir=/backup/2016-12-08_11-01-43/ --incremental /backup
其中--incremental-basedir指向全備目錄,--incremental指向增量備份的目錄。
上面語句執(zhí)行成功之后,會在--incremental執(zhí)行的目錄下創(chuàng)建一個時間戳子目錄(本例中為:/backup/mysql/data/2013-10-29_09-52-37),在該目錄下存放著增量備份的所有文件。
在備份目錄下,有一個文件xtrabackup_checkpoints記錄著備份信息,全備的信息如下:
[root@bogon backup]# cd 2016-12-07_17-33-09/
[root@bogon 2016-12-07_17-33-09]# cat xtrabackup_checkpoints 
backup_type = full-prepared
from_lsn = 0
to_lsn = 1595669
last_lsn = 1595669
compact = 0
recover_binlog_info = 0
[root@bogon 2016-12-08_11-01-43]# cat xtrabackup_checkpoints 
backup_type = incremental
from_lsn = 1595669
to_lsn = 1601979
last_lsn = 1601979
compact = 0
recover_binlog_info = 0
[root@bogon backup]# cd 2016-12-08_11-03-28/
[root@bogon 2016-12-08_11-03-28]# cat xtrabackup_checkpoints 
backup_type = incremental
from_lsn = 1601979
to_lsn = 1604021
last_lsn = 1604021
compact = 0
recover_binlog_info = 0
從上面可以看出,增量備份的from_lsn正好等于全備的to_lsn。
那么,我們是否可以在增量備份的基礎(chǔ)上再做增量備份呢?答案是肯定的,只要把--incremental-basedir執(zhí)行上一次增量備份的目錄即可
恢復(fù):
增量備份的恢復(fù)比全備要復(fù)雜很多,第一步是在所有備份目錄下重做已提交的日志,如:
innobackupex --defaults-file=/home/mysql/mysql_5535/etc/my.cnf --user=root --password=123456 --apply-log --redo-only /backup/2016-12-07_17-33-09/
 
innobackupex --defaults-file=/home/mysql/mysql_5535/etc/my.cnf --user=root --password=123456 --apply-log --redo-only /backup/2016-12-07_17-33-09/ --incremental-dir=/backup/2016-12-08_11-01-43/
 innobackupex --defaults-file=/home/mysql/mysql_5535/etc/my.cnf --user=root --password=123456 --apply-log /backup/2016-12-07_17-33-09/ --incremental-dir=/backup/2016-12-08_11-03-28/
 innobackupex --defaults-file=/home/mysql/mysql_5535/etc/my.cnf --user=root --password=123456 --apply-log /backup/2016-12-07_17-33-09/

成都創(chuàng)新互聯(lián)公司始終堅持【策劃先行,效果至上】的經(jīng)營理念,通過多達(dá)十載累計超上千家客戶的網(wǎng)站建設(shè)總結(jié)了一套系統(tǒng)有效的全網(wǎng)整合營銷推廣解決方案,現(xiàn)已廣泛運(yùn)用于各行各業(yè)的客戶,其中包括:成都OPP膠袋等企業(yè),備受客戶表揚(yáng)。

其中2016-12-07_17-33-09/是指全備目錄,2016-12-08_11-01-43/是指第一次的增量備份,/2016-12-08_11-03-28/指第二次的增量備份,以此類推。
這里要注意的是:最后一步的增量備份并沒有--redo-only選項!還有,可以使用--use_memory提高性能。
以上語句執(zhí)行成功之后,最終數(shù)據(jù)在BASE-DIR(即全備目錄)下。
第一步完成之后,我們開始第二步:回滾未完成的日志:
innobackupex --defaults-file=/home/mysql/mysql_5535/etc/my.cnf --user=root --password=123456 --apply-log /backup/2016-12-07_17-33-09/
上面執(zhí)行完之后,BASE-DIR里的備份文件已完全準(zhǔn)備就緒,最后一步是拷貝:
 innobackupex --defaults-file=/home/mysql/mysql_5535/etc/my.cnf --user=root --password=123456 --copy-back /backup/2016-12-07_17-33-09/
修改權(quán)限
[root@bogon var]# chown mysql.mysql /home/mysql/mysql_5535/var/ -R

[root@bogon var]# /home/mysql/mysql_5535/bin/mysql.server start



文章題目:mysqlinnobackupex增量備份
URL地址:http://muchs.cn/article0/ghsjio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、網(wǎng)站策劃、網(wǎng)站設(shè)計、虛擬主機(jī)網(wǎng)站收錄、網(wǎng)頁設(shè)計公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司