2015-04-01 209 views
7

我試圖從Ubuntu 14.04.2中的轉儲中恢復mongodb數據庫,轉儲是在MongoDB shell版本上創建的:2.4.13,我正在恢復MongoDB shell版本:3.0.1。MongoDB恢復失敗

這是我正在運行的命令和我得到的錯誤。

mongorestore /家庭/ somename /備份/分期/蒙戈

2015-04-01T12:12:32.886 + 0200建築DBS和收藏列表,以便恢復/ home/somename /備份/分期/蒙戈DIR

2015-04-01T12:12:32.896 + 0200假設用戶在轉儲目錄是從< = 2.4(AUTH版本1)

2015-04-01T12:12:32.896 + 0200失敗:所述轉儲中的用戶和角色集合與目標服務器具有不兼容的auth版本:無法將auth版本1的用戶恢復到auth版本5的服務器

有沒有辦法解決它或修復?

任何幫助將通過移動admin目錄出來的轉儲文件夾的大加讚賞

+0

我們是軟件開發者,而不是數據庫管理員。我提名您的問題遷移到https://dba.stackexchange.com – Philipp 2015-04-01 10:58:07

回答

11

可以解決這個問題,然後重新運行mongorestore命令。

例如,如果你跑

mongorestore --dir ~/path/to/mongodumpdir 

,它失敗了,則很可能在那裏有一個admin文件夾。您可以將其移出,然後重新運行上述命令。

我相信,特別是,這是造成問題的system.users.bson。由於mongo 2.x.x3.x.x以不同方式添加和存儲用戶。

當然,從舊的MongoDB用戶將無法在新的數據庫,但您可以隨時手動添加它們放回

2

嘗試在CLI命令添加認證數據庫: --authenticationDatabase管理員