亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

利用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

巩义市| 靖江市| 黄石市| 嘉义县| 南宫市| 绥德县| 义马市| 湟中县| 通许县| 黄龙县| 天门市| 长宁区| 安塞县| 辽中县| 沈丘县| 嵩明县| 皮山县| 南投县| 乡宁县| 浦东新区| 舞阳县| 襄城县| 黄石市| 驻马店市| 广水市| 吉安县| 辽阳市| 霍林郭勒市| 宜章县| 准格尔旗| 措美县| 遂昌县| 南京市| 河池市| 柘荣县| 依兰县| 呼和浩特市| 沙坪坝区| 聂拉木县| 渑池县| 峨眉山市|