一、準(zhǔn)備工作
為錦屏等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及錦屏網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、錦屏網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!1.下載并安裝wt實(shí)用工具包
wget http://source.wiredtiger.com/releases/wiredtiger-2.9.1.tar.bz2
tar xvf wiredtiger-2.9.1.tar.bz2 && cd wiredtiger-2.9.1
yum install snappy snappy-devel -y
./configure --enable-snappy
make
注意:最好下載和mongoDB中使用的wiredtiger版本對(duì)應(yīng)的wt工具集??梢酝ㄟ^(guò)下面的方法獲得
當(dāng)前mongoDB所使用的wiredtiger版本,在當(dāng)前MongoDB數(shù)據(jù)目錄下執(zhí)行:
2.準(zhǔn)備好要恢復(fù)的數(shù)據(jù)
如我們要恢復(fù)metrics_db數(shù)據(jù)庫(kù)中的collection-101--2183197387550357866.wt 文件 的數(shù)據(jù)為例
在wireditger-2.9.1目錄下新建立一個(gè)目錄,用于存儲(chǔ)要恢復(fù)的數(shù)據(jù),這里建立了20171024這個(gè)目錄,這里要注意一點(diǎn):
要恢復(fù)的數(shù)據(jù)文件的存儲(chǔ)目錄一定要和原mongoDB的數(shù)據(jù)目錄的結(jié)構(gòu)一樣,否則會(huì)出現(xiàn) file not found錯(cuò)誤
另外除了要恢復(fù)的數(shù)據(jù)文件外還需要其它的一些原數(shù)據(jù)文件,列表如下
WiredTiger
WiredTiger.lock
WiredTiger.turtle
WiredTiger.wt
WiredTigerLAS.wt
_mdb_catalog.wt
sizeStorer.wt
這些文件全部要存儲(chǔ)在和原MongoDB數(shù)據(jù)目錄結(jié)構(gòu)一樣的目錄結(jié)構(gòu)中。
二,恢復(fù)數(shù)據(jù)
1.檢查可以恢復(fù)多少數(shù)據(jù)
[root@sdw2 wiredtiger-2.9.1]# ./wt -v -h ./20171024/ -C "extensions=[./ext/compressors/snappy/.libs/libwiredtiger_snappy.so]" -R salvage metrics_db/collection-101--2183197387550357866.wt
大家要注意一下這里的參數(shù),和命令的執(zhí)行路徑的關(guān)系,執(zhí)行完這個(gè)命令后會(huì)輸出如下結(jié)果
WT_SESSION.salvage 100
后臺(tái)的數(shù)字就是可以被恢復(fù)的數(shù)據(jù)
2.使用wt工具dump出可以恢復(fù)的數(shù)據(jù)
[root@sdw2 wiredtiger-2.9.1]# ./wt -v -h ./20171024/ -C "extensions=[./ext/compressors/snappy/.libs/libwiredtiger_snappy.so]" -R dump -f collection.dump metrics_db/collection-101--2183197387550357866
這里自用 -f 參數(shù)指定了dump數(shù)據(jù)的輸出文件.另外注意這一步中我們不用指定要恢復(fù)數(shù)據(jù)文件 的擴(kuò)展名,也就是省去了.wt三個(gè)字符
3.備準(zhǔn)一個(gè)用戶于恢復(fù)數(shù)據(jù)使用的mongoDB實(shí)例
mongod --dbpath /data/mongo_data --storageEngine wiredTiger
4.連接到這個(gè)新的實(shí)例,并建立一個(gè)用戶恢復(fù)數(shù)據(jù)庫(kù)
[root@sdw2] mongo 127.0.0.1:27017
> use recovery
> db.t.insert({id:1})
> db.t.remove({}) #建立一個(gè)表,插入一條數(shù)據(jù)后并刪除,我們主要是要在recovery目錄上生成一個(gè)wt文件
> db.t.status() #查看剛才操作所生成的wt文件
記錄下這個(gè)文件名和目錄,我們后續(xù)就是要利用wt命令從剛才dump的文件中重新生成這個(gè)文件,并把要恢復(fù)的數(shù)據(jù)恢復(fù)出來(lái)?,F(xiàn)在我們要停止這個(gè)mongoDB實(shí)例,否則下面恢復(fù)數(shù)據(jù)時(shí)會(huì)報(bào)錯(cuò)
5. load數(shù)據(jù)到wt文件中
[root@sdw2 wiredtiger-2.9.1]# ./wt -v -h /data/mongo_data/ -C "extensions=[./ext/compressors/snappy/.libs/libwiredtiger_snappy.so]" -R load -f collection.dump -r recovery/collection-0--4285167332299985373
table:recovery/collection-5-1786621982084020644: 11305
注意:
-h 參數(shù)指定的是我們剛才啟動(dòng)mongoDB時(shí)所指定的數(shù)據(jù)目錄
-r 參數(shù)指定的就是我們剛才生成的用于recovery的WT文件
6.重啟mongoDB實(shí)例
mongod --dbpath /data/mongo_data --storageEngine wiredTiger
7.使用mongodump備份數(shù)據(jù)
由于我們替換了wt文件,所以這時(shí)原數(shù)據(jù)還有一些不一致,因此在mongo中還看不到我們恢復(fù)的數(shù)據(jù),這時(shí)我們要利用mongodump和mongorestore命令來(lái)重新導(dǎo)出并導(dǎo)入一下數(shù)據(jù),這樣才可以真正的恢復(fù)數(shù)據(jù)
mongodump -h 127.0.0.1:27017-d recovery
8使用mongorestore重新恢復(fù)數(shù)據(jù)
mongorestore -h227.0.0.1:27017--drop dump/
MySQL課程推薦
MySQL性能管理及架構(gòu)設(shè)計(jì)
高性能可擴(kuò)展MySQL數(shù)據(jù)庫(kù)設(shè)計(jì)及架構(gòu)優(yōu)化 電商項(xiàng)目
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
本文題目:利用wt工具恢復(fù)wiredtiger存儲(chǔ)引擎的數(shù)據(jù)-創(chuàng)新互聯(lián)
標(biāo)題路徑:http://www.rwnh.cn/article12/coipgc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、網(wǎng)站建設(shè)、軟件開發(fā)、服務(wù)器托管、域名注冊(cè)、品牌網(wǎng)站設(shè)計(jì)
聲明:本網(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í)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容