我有一個使用身份驗證的遠程數據庫,沒有使用本地數據庫。我試圖複製一個數據庫表格遠程到本地使用:複製數據庫時不對管理員數據庫進行身份驗證
{ "copydb" : "1" , "fromdb" : "aaa" , "todb" : "aaa-test" , "fromhost" : "remotehost:27017" , "username" : "johndoe" , "nonce" : "2aa39a862a92bea6" , "key" : "2bbfe213664310fb7c36bf7f41195b81"}
nonce是之前創建像文檔中所述。 johndoe用戶存在於管理數據庫中,並且有權創建和編寫像「aaa」這樣的新數據庫。當我嘗試將數據庫與上面的命令副本,我得到一個
{ "serverUsed" : "localhost:27020" , "ok" : 0.0 , "errmsg" : "unable to login { ok: 0.0, errmsg: \"auth failed\", code: 18 }"}
和日誌打印
Failed to authenticate [email protected] with mechanism MONGODB-CR: AuthenticationFailed UserNotFound Could not find user [email protected]
對於我來說,似乎複製命令使用fromDB作爲源用戶認證。是否可以單獨定義auth db?
我做到了。我最終在源數據庫中創建了一個臨時用戶,並在成功複製後將其刪除。 – Andreas