我試圖在mongo 3.0.7中使用mongorestore恢復一個巨大的文件。文件夾prod079下的所有文件已成功恢復,除了一個名爲system.users的文件。用於恢復的命令是錯誤:沒有授權的數據庫執行命令
mongorestore -u testdba -p xxxxxx -d prod079 /data/backup --batchSize=1
上面的命令從同一文件夾中恢復數據的400GB,但似乎失敗,獨此一家的文件。
我得到這樣的錯誤:
error: not authorized on prod079 to execute command { insert: "system.users", documents: [ { _id: ObjectId('531e5251864fb4e84b'), pwd: "xxxxxxxx", roles: [ "dbAdmin", "readWrite", "userAdmin" ], user: "ab" } ], writeConcern: { getLastError: 1, w: 1 }, ordered: false }
2015-12-10T13:20:49.196-0500 error: not authorized on prod079 to execute command { insert: "system.users", documents: [ { _id: ObjectId('531e5251864fb4e84c'), user: "abuser", pwd: "xxxxxxxx", roles: [ "read" ] } ], writeConcern: { getLastError: 1, w: 1 }, ordered: false }
2015-12-10T13:20:49.196-0500 error: not authorized on prod079 to execute command { insert: "system.users", documents: [ { _id: ObjectId('5452840f169afa3a2'), user: "asmeta", pwd: "xxxxxxxx", roles: [ "read" ] } ], writeConcern: { getLastError: 1, w: 1 }, ordered: false }
所以基本上我收到一大堆這樣的錯誤。我試圖尋找類似的錯誤在stackoverflow和谷歌,但我可以找到包括-d或包括本地主機。然後我發現一篇文章說我沒有爲testdba用戶授予userAdmin/userAdminAnyDatabase權限。這次我嘗試以擁有userAdmin/userAdminAnyDatabase特權的admin用戶身份運行。我使用的命令是:
mongorestore -u admin -p xxxxx -d prod079 /data/backup --batchSize=1
這次我收到一個不同類型的錯誤。它說:
2015-12-10T13:17:59.940-0500 Failed: error connecting to db server: server returned error on SASL authentication step: Authentication failed.
現在我真的很困惑,到底發生了什麼,爲什麼我只面對這個文件的問題。另外,我無法理解當我試圖以管理員身份進行還原時,爲什麼會出現如此不同的錯誤。
任何建議/幫助將不勝感激。
畢竟這個失敗了,我也嘗試通過禁用auth = true來運行命令「mongorestore -u testdba -p xxxxxx -d prod079/data/backup --batchSize = 1」。這仍然沒有鍛鍊。 – Manny
嘗試添加--authenticationDatabase管理作爲額外的參數mongorestore命令 –
我仍然得到這個:錯誤:沒有授權prod079執行命令{插入:「system.users」,文件:[{_id:ObjectId('531e5251864fb4e84b '),pwd:「xxxxxxxx」,角色:[「dbAdmin」,「readWrite」,「userAdmin」],用戶:「ab」}],writeConcern:{getLastError:1,w:1},ordered:false} – Manny