亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

MySQL在線備份與恢復(fù)工具 --> Xtrabackup

系統(tǒng) 2160 0

1? Xtrabackup原理簡介

xtrabackup是一個對InnoDB做數(shù)據(jù)備份的工具,支持在線熱備份(備份時不影響數(shù)據(jù)讀寫),是商業(yè)備份工具InnoDB Hotbackup的一個很好的替代品。?
? ? xtrabackup有兩個主要的工具:xtrabackup、innobackupex?
? (1)xtrabackup只能備份InnoDB和XtraDB兩種數(shù)據(jù)表,而不能備份MyISAM數(shù)據(jù)表 ??

? (2)innobackupex是參考了InnoDB Hotbackup的innoback腳本修改而來的,innobackupex是一個perl腳本封裝,封裝了xtrabackup,所以能同時備份處理innodb和myisam,但在處理myisam時需要加一個讀鎖。并且加入了一些使用的選項,如slave-info可以記錄備份恢復(fù)后,作為slave需要的一些信息,根據(jù)這些信息,可以很方便的利用備份來重做slave。 ??

? (3)使用幫助:http://www.percona.com/docs/wiki/percona-xtrabackup:start ?

? (4)Xtrabackup可以做什么 ?
? 在線(熱)備份整個庫的InnoDB、 XtraDB表 ?
? 在xtrabackup的上一次整庫備份基礎(chǔ)上做增量備份(innodb only) ??
? 以流的形式產(chǎn)生備份,可以直接保存到遠(yuǎn)程機(jī)器上(本機(jī)硬盤空間不足時很有用) ??
? MySQL數(shù)據(jù)庫本身提供的工具并不支持真正的增量備份,二進(jìn)制日志恢復(fù)是point-in-time(時間點)的恢復(fù)而不是增量備份。Xtrabackup工具支持對InnoDB存儲引擎的增量備份,工作原理如下: ?
?
? (1)首先完成一個完全備份,并記錄下此時檢查點的LSN(Log Sequence Number)。 ? ?

? (2)在進(jìn)程增量備份時,比較表空間中每個頁的LSN是否大于上次備份時的LSN,如果是,則備份該頁,同時記錄當(dāng)前檢查點的LSN。 ??
? 首先,在logfile中找到并記錄最后一個checkpoint(“l(fā)ast checkpoint LSN”),然后開始從LSN的位置開始拷貝InnoDB的logfile到xtrabackup_logfile;接著,開始拷貝全部的數(shù)據(jù)文 件.ibd;在拷貝全部數(shù)據(jù)文件結(jié)束之后,才停止拷貝logfile。 ?
?
? 因為logfile里面記錄全部的數(shù)據(jù)修改情況,所以,即時在備份過程中數(shù)據(jù)文件被修改過了,恢復(fù)時仍然能夠通過解析xtrabackup_logfile保持?jǐn)?shù)據(jù)的一致。 ?
?
xtrabackup備份原理 ?
? xtraBackup基于InnoDB的crash-recovery功能。它會復(fù)制innodb的data file,由于不鎖表,復(fù)制出來的數(shù)據(jù)是不一致的,在恢復(fù)的時候使用crash-recovery,使得數(shù)據(jù)恢復(fù)一致。 ?

? InnoDB維護(hù)了一個redo log,又稱為transaction log,事務(wù)日志,它包含了innodb數(shù)據(jù)的所有改動情況。當(dāng)InnoDB啟動的時候,它會先去檢查data file和transaction log,并且會做二步操作:?

?
? xtraBackup在備份的時候, 一頁一頁地復(fù)制innodb的數(shù)據(jù),而且不鎖定表,與此同時,XtraBackup還有另外一個線程監(jiān)視著transactions log,一旦log發(fā)生變化,就把變化過的log pages復(fù)制走。為什么要急著復(fù)制走呢? 因為transactions log文件大小有限,寫滿之后,就會從頭再開始寫,所以新數(shù)據(jù)可能會覆蓋到舊的數(shù)據(jù)。 ?
? 在prepare過程中,XtraBackup使用復(fù)制到的transactions log對備份出來的innodb data file進(jìn)行crash recovery。 ?

?
?(5)實現(xiàn)細(xì)節(jié) ?
? XtraBackup以read-write模式打開innodb的數(shù)據(jù)文件,然后對其進(jìn)行復(fù)制。其實它不會修改此文件。也就是說,運行 XtraBackup的用戶,必須對innodb的數(shù)據(jù)文件具有讀寫權(quán)限。之所以采用read-write模式是因為XtraBackup采用了其內(nèi)置的 innodb庫來打開文件,而innodb庫打開文件的時候就是rw的。 ?
?
? XtraBackup要從文件系統(tǒng)中復(fù)制大量的數(shù)據(jù),所以它盡可能地使用posix_fadvise(),來告訴OS不要緩存讀取到的數(shù)據(jù),從 而提升性能。因為這些數(shù)據(jù)不會重用到了,OS卻沒有這么聰明。如果要緩存一下的話,幾個G的數(shù)據(jù),會對OS的虛擬內(nèi)存造成很大的壓力,其它進(jìn)程,比如 mysqld很有可能被swap出去,這樣系統(tǒng)就會受到很大影響了。 ?
?
? 在備份innodb page的過程中,XtraBackup每次讀寫1MB的數(shù)據(jù),1MB/16KB=64個page。這個不可配置。讀1MB數(shù)據(jù)之 后,XtraBackup一頁一頁地遍歷這1MB數(shù)據(jù),使用innodb的buf_page_is_corrupted()函數(shù)檢查此頁的數(shù)據(jù)是否正常, 如果數(shù)據(jù)不正常,就重新讀取這一頁,最多重新讀取10次,如果還是失敗,備份就失敗了,退出。在復(fù)制transactions log的時候,每次讀寫512KB的數(shù)據(jù)。同樣不可以配置。


2.1 Xtrabackup 開源工具

?

? 支持在線熱備與恢復(fù)
? 大數(shù)據(jù)量的時候,備份恢復(fù)都比較快快
? 支持復(fù)制模式下的從機(jī)備份恢復(fù)備份恢復(fù)
? 缺點:在增量備份的時候,作為備份基礎(chǔ)的全備文件不能壓縮,否則備份失效;增量的時候,表結(jié)構(gòu)變更的話,變更部分備份無效。
? 安裝 rpm 版本
? rpm- ivh xtrabackup-1.6-245.rhel5.x86_64.rpm

2.2 壓縮備份與解壓
? 備份: innobackupex ? --user=root --port=3306--defaults-file=/etc/my.cnf --no-lock?--socket=/data/ mbdata /open/ mysql.sock --stream=tar /home/backup/all/ alldb ? | gzip ???? 1>/home/backup/all/ alldb.tar.gz ( 40G 45 分鐘 )
? 解壓縮: [ root@localhost ~]# tar - izxvf alldb.tar.gz -C backup

2.3 恢復(fù)
? 先停止數(shù)據(jù)庫 service mysqld stop;
? (1) innobackupex --apply-log --user=root --defaults-file=/etc/my.cnf --no-lock /root/ alldb
? (2) :備份并刪除原目錄 /open/ mbdata /open/ 下所有文件
? (3) innobackupex --copy-back --user=root --defaults-file=/etc/my.cnf --no-lock /root/ alldb

??? 【】 如果磁盤不夠,直接 [root@clonedb-m209 alldb ]# mv */data/ mbdata /open/

? (4) chown -R mysql:mysql /data/ mbdata /open
? (5) service? mysqld start;

2.4 增量備份
? 必須要有未壓縮的全量備份文件目錄,先全量再增量
? (1) :周一全量備份,

?? time / usr /bin/ innobackupex ? --user=root --password=******--host=127.0.0.1 --port=3307 --defaults-file=/etc/my.cnf --slave-info? --socket=/data/ mbdata /open/ mysql.sock --no-timestamp /home/backup/all/ alldb ? 2>$ dirlog

? (2) :剩下的周二到周日做增量備份 ;
?

2.5 量備份腳本

?

?

? time / usr /bin/ innobackupex ? --user=root --password=****?? --socket=/data/ mbdata /open/ mysql.sock --port=3307? --slave-info--defaults-file=/etc/my.cnf --no-timestamp?--safe-slave-backup --incremental --incremental- basedir =/home/backup/all/ alldb /home/backup/daily/daily_20120409 2>>/home/backup/daily/ dailybackup_$tday.log

?

?

2.5 增量恢復(fù) (1)

?

?解壓縮文件
?先全量恢復(fù),然后增量恢復(fù)
?(1):首先恢復(fù)全備innobackupex--apply-log --user=root --defaults-file=/data/mbdata/my.cnf--no-lock /home/backup/all/alldb?

?

?? PS /home/backup/all/ alldb 是全量備份目錄

?(2):再恢復(fù)增量備份innobackupex/home/backup/all/alldb--incremental –incremental dir=/home/backup/daily/daily_2012_03_22 --apply-log

?? PS /home/backup/daily/daily_2012_03_22 是增量備份目錄

?(3):停止數(shù)據(jù)庫,servicemysqldstop;然后備份并刪除原目錄/open/mbdata/open/下所有文件
?(4):還原數(shù)據(jù)庫到默認(rèn)目錄 innobackupex--copy-back --user=root --defaults-file=/etc/my.cnf --no-lock /home/backup/all/alldb

?

2.5 增量恢復(fù) (2)

?

?(5):chown-R mysql:mysql/data/mbdata/open
?(6):service? mysqldstart;
?(7):登陸mysql,驗證數(shù)據(jù)。
?總恢復(fù)時間: 45 分鐘 左右

?

?

2.6 遠(yuǎn)程備份

?

? / usr /bin/ innobackupex ? --user=root --port=3306--defaults-file=/data/ mbdata /open/my.cnf? --slave-info?--socket=/data/ mbdata /open/ mysql.sock --no-timestamp --remote-host=root@10.100.200.53 -- scpopt ="-Cp-c arcfour "/home/backup/all/ alldb_$tday 2>>/home/backup/all/allbackup.log
ps: $tday 2為變量

參考文章:

?


?

MySQL在線備份與恢復(fù)工具 --> Xtrabackup


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久久艹国产 | 亚洲国产第一 | 久久精品中文字幕极品 | 在线视频一二三区 | 三级aaa黄特色 | 精品一久久香蕉国产线看观看下 | 久热996re这里有精品 | 在线欧美不卡 | 色五月情| 国产成人亚洲毛片 | 日本精品久久久中文字幕 | 一级毛片视频在线 | 九九精品视频一区二区三区 | 国产精品久久久久久网站 | 九九视频九九 | 国产精品国产自线在线观看 | 午夜福免费福利在线观看 | 51精品视频在线一区二区 | 色天使色婷婷丁香久久综合 | 在线观看日本一区 | 九九国产在线观看 | 国产成人99精品免费观看 | 亚洲精品亚洲一区二区 | 国产成人香蕉在线视频fuz | 4hutv四虎最新地址 | 国产成人一区二区三中文 | 国产欧美日韩亚洲精品区2345 | 久久麻豆视频 | julia紧身裙中文字幕在线看 | 色综合综合色综合色综合 | 国产日产欧美精品一区二区三区 | 国产精品久久久久久久久岛 | 九九热线精品视频6一 | 欧美日韩乱码毛片免费观看 | 12至16末成年毛片视频 | 特黄特级a级黄毛片免费观看多人 | 欧美亚洲另类视频 | 久久精品免费在线观看 | 四虎国产精品永久地址48 | 视频在线一区二区 | 99久久99这里只有免费费精品 |