這篇文章給大家介紹innobackupex的備份和恢復(fù)是怎么樣的,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
原理
階段:備份backup – 預(yù)恢復(fù)prepare -- 恢復(fù)restore
表文件時(shí)可能包含不完整事務(wù),需要prepare將其變?yōu)閏onsistent數(shù)據(jù)文件,這樣復(fù)制出來的文件肯定是不一致的,然后對(duì)每個(gè)文件進(jìn)行崩潰恢復(fù)處理,最終達(dá)到一致.
在啟動(dòng)的時(shí)候會(huì)記錄一個(gè)LSN(log sequence number),然后就把所有的Innodb數(shù)據(jù)文件復(fù)制出來,這樣復(fù)制出來的數(shù)據(jù)文件是不一致的,但是XtraBackup會(huì)在后臺(tái)運(yùn)行一個(gè)進(jìn)程把所有對(duì)redo log file的修改記錄下來;
二進(jìn)制程序(比如xtrabackup_55)完成的,如果使用innobackupex 腳本,剛才的步驟完成以后,innobackupex就會(huì)去備份MyISAM表和.frm文件,這時(shí)要保證數(shù)據(jù)的一致性就會(huì)先鎖表了,通過FLUSH TABLES WITH READ LOCK命令鎖表然后把文件復(fù)制出來,再釋放掉這個(gè)鎖。
(recovery)和restore兩個(gè)步驟。在prepare結(jié)束以后,Innodb的表恢復(fù)到了復(fù)制Innodb文件結(jié)束的時(shí)間點(diǎn),這個(gè)時(shí)間點(diǎn)也就是鎖表復(fù)制MyISAM表的起點(diǎn),所以最終數(shù)據(jù)是一致的。一般我們?cè)诨謴?fù)的時(shí)候執(zhí)行兩次prepare,是因?yàn)榈诙蝡repare會(huì)幫助我們生成redo log文件,從而加快MySQL數(shù)據(jù)庫啟動(dòng)的速度。
將數(shù)據(jù)庫備份放在BACKUP-DIR目錄,默認(rèn)新建一個(gè)子目錄,--no-timestamp會(huì)跳過此功能;選項(xiàng)指定所用內(nèi)存以加快進(jìn)度,默認(rèn)100M;讀取datadir/innodb_data_home_dir/innodb_data_file_path等變量;
表是innodb表,最后為logfile;--data-dir目錄必須為空
增量備份文件,內(nèi)容如下
文件內(nèi)容如下
有點(diǎn)復(fù)雜,如果對(duì)base backup執(zhí)行事務(wù)一致性恢復(fù),則其不能再用于增量備份恢復(fù),為此須指定—redo-only選項(xiàng);
恢復(fù)單表提供了restore datafile,針對(duì)壞塊也有blockrecover,即盡可能的避免全庫恢復(fù);也提供了類似功能,允許恢復(fù)單個(gè)表空間;讓innodb采用slow shutdown(full purge + change buffer merge),以保證表空間處于一致性并被import;
數(shù)據(jù)字典的dump,5.6起不是必需;
創(chuàng)建相同結(jié)構(gòu)的表復(fù)制到數(shù)據(jù)目錄
基于時(shí)間點(diǎn)的恢復(fù),記錄備份binlog時(shí)數(shù)據(jù)庫當(dāng)前位置,這也是數(shù)據(jù)庫一致性恢復(fù)的終點(diǎn);
執(zhí)行時(shí)間點(diǎn)恢復(fù)
--start-position=57 --stop-datetime="11-12-25 01:00:00" | mysql -u root –p
在slave執(zhí)行備份
須留意以下兩個(gè)參數(shù)
--從屬信息
此選項(xiàng)在備份復(fù)制從屬服務(wù)器時(shí)非常有用。它打印主服務(wù)器的二進(jìn)制日志位置和名稱。它還將此信息作為更改主命令寫入xtrabackup_slave_info文件。通過在此備份上啟動(dòng)從屬服務(wù)器,并使用保存在xtrabackup\u slave\u info文件中的二進(jìn)制日志位置發(fā)出CHANGE master命令,可以設(shè)置此主服務(wù)器的新從屬服務(wù)器。
--安全從備份
停止從屬SQL線程并等待啟動(dòng)備份,直到“顯示”狀態(tài)下的從屬打開臨時(shí)表為零。如果沒有打開的臨時(shí)表,將進(jìn)行備份,否則將啟動(dòng)和停止SQL線程,直到?jīng)]有打開的臨時(shí)表。如果在--safe Slave backup timeout秒后Slave_open_temp_tables未變?yōu)榱?,備份將失敗。備份完成后,從屬SQL線程將重新啟動(dòng)。
關(guān)于innobackupex的備份和恢復(fù)是怎么樣的就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
新聞名稱:innobackupex的備份和恢復(fù)是怎么樣的-創(chuàng)新互聯(lián)
文章起源:http://www.rwnh.cn/article20/pddco.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、網(wǎng)站收錄、全網(wǎng)營銷推廣、外貿(mào)網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化、用戶體驗(yàn)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容