91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

利用wt工具恢復wiredtiger存儲引擎的數據

發布時間:2020-07-01 17:47:18 來源:網絡 閱讀:5736 作者:sqlercn 欄目:MongoDB數據庫

一、準備工作

1.下載并安裝wt實用工具包

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版本對應的wt工具集。可以通過下面的方法獲得

當前mongoDB所使用的wiredtiger版本,在當前MongoDB數據目錄下執行:

 利用wt工具恢復wiredtiger存儲引擎的數據

2.準備好要恢復的數據

如我們要恢復metrics_db數據庫中的collection-101--2183197387550357866.wt 文件 的數據為例

在wireditger-2.9.1目錄下新建立一個目錄,用于存儲要恢復的數據,這里建立了20171024這個目錄,這里要注意一點:

要恢復的數據文件的存儲目錄一定要和原mongoDB的數據目錄的結構一樣,否則會出現 file not found錯誤

另外除了要恢復的數據文件外還需要其它的一些原數據文件,列表如下

WiredTiger

WiredTiger.lock

WiredTiger.turtle

WiredTiger.wt

WiredTigerLAS.wt

_mdb_catalog.wt

sizeStorer.wt

這些文件全部要存儲在和原MongoDB數據目錄結構一樣的目錄結構中。

二,恢復數據

1.檢查可以恢復多少數據

[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

大家要注意一下這里的參數,和命令的執行路徑的關系,執行完這個命令后會輸出如下結果

WT_SESSION.salvage 100

后臺的數字就是可以被恢復的數據

2.使用wt工具dump出可以恢復的數據

[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 參數指定了dump數據的輸出文件.另外注意這一步中我們不用指定要恢復數據文件 的擴展名,也就是省去了.wt三個字符

3.備準一個用戶于恢復數據使用的mongoDB實例

mongod --dbpath /data/mongo_data --storageEngine wiredTiger

4.連接到這個新的實例,并建立一個用戶恢復數據庫

[root@sdw2] mongo 127.0.0.1:27017

> use recovery

> db.t.insert({id:1})

> db.t.remove({}) #建立一個表,插入一條數據后并刪除,我們主要是要在recovery目錄上生成一個wt文件

> db.t.status() #查看剛才操作所生成的wt文件

 利用wt工具恢復wiredtiger存儲引擎的數據

記錄下這個文件名和目錄,我們后續就是要利用wt命令從剛才dump的文件中重新生成這個文件,并把要恢復的數據恢復出來。現在我們要停止這個mongoDB實例,否則下面恢復數據時會報錯

5. load數據到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 參數指定的是我們剛才啟動mongoDB時所指定的數據目錄

-r 參數指定的就是我們剛才生成的用于recovery的WT文件

6.重啟mongoDB實例

mongod --dbpath /data/mongo_data --storageEngine wiredTiger

7.使用mongodump備份數據

由于我們替換了wt文件,所以這時原數據還有一些不一致,因此在mongo中還看不到我們恢復的數據,這時我們要利用mongodump和mongorestore命令來重新導出并導入一下數據,這樣才可以真正的恢復數據

mongodump  -h 127.0.0.1:27017-d recovery

8使用mongorestore重新恢復數據

mongorestore -h227.0.0.1:27017--drop dump/


MySQL課程推薦

   MySQL性能管理及架構設計

   高性能可擴展MySQL數據庫設計及架構優化 電商項目  


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

界首市| 杂多县| 闵行区| 景洪市| 余江县| 肇源县| 双柏县| 蚌埠市| 大埔县| 西丰县| 仙桃市| 海城市| 巨鹿县| 武宁县| 梁河县| 碌曲县| 公主岭市| 苗栗市| 巨野县| 正安县| 陇川县| 扎囊县| 肃南| 临泉县| 普定县| 边坝县| 泸水县| 湘乡市| 江油市| 冷水江市| 宜宾市| 吉安市| 化德县| 绥阳县| 丰县| 高台县| 那曲县| 浦江县| 盐津县| 昭平县| 石楼县|