2015-06-03 136 views
0

我們有一個坐在600GB的MongoDB。我們刪除了大量文件,並希望縮小它,我們將其修復到2TB的驅動器上。複製一個MongoDB記錄的記錄

它跑了幾個小時,最終耗盡了2TB空間。當我看着修復目錄時,它創建了比原始數據庫更多的文件?

無論如何,我試圖尋找替代選擇。我的第一個想法是創建一個新的MongoDB,並將每一行從舊的複製到新的。有沒有可能做到這一點,最快的方法是什麼?

回答

0

我有很多成功的在使用db.copyDatabase命令複製數據庫:

鏈接MongoDB的copyDatabase

我也用MongoVUE,這是很容易從複製數據庫軟件一個位置到另一個位置 - MonogoVUE(這是在monogo之上的圖形界面)。

如果你有copyDatabase沒有運氣,我可以建議你嘗試轉儲和數據庫還原到一個外部文件,像mongodumplvcreate

這裏是備份一個完整的讀取和還原它應該讓你複製數據庫很容易:http://docs.mongodb.org/manual/core/backups/

+0

我想知道,是否copyDatabase函數複製記錄的記錄,通過刪除未使用的空間有效地壓縮數據庫? –

+0

copyDatabase將複製你的集合,安裝mongoVUE,這使得它很容易複製和選擇你想要複製的集合。一般來說,這非常簡單,如果你願意,你甚至可以提供一個收藏列表。然而,你想要達到的目標是什麼? –

+0

我想修復數據庫只是爲了恢復一些空間,但修復沒有完成。 –