rubish
rubish

Reputation: 10907

How to copy password protected database from remote server in mongodb?

I am running mongodb 2.4.8 and need to copy a database from remote server. Server has auth enabled in combination with a user having privileges the database. I have tried copydb but it didn't work. I guess it failed because of remote server using auth in combination with role based user(mentioned under authentication section of documentation).

 host = "myhost.com"
 mynonce = db.runCommand( { copydbgetnonce : 1, fromhost: host } ).nonce
 username = "myuser"
 password = "mypassword"
 password_hash = hex_md5(mynonce + username + hex_md5(username + ":mongo:" + password))
 db.runCommand({ 
   copydb: 1, 
   fromdb: "test", 
   todb: "test", 
   fromhost: host, 
   username: username, 
   key: password_hash 
 })
 # output: { "ok" : 0, "errmsg" : "" }
 # but nothing really gets copied

What other options do I have? I would prefer a solution which can work from within the mongo shell as I do not have ssh access to server.

Upvotes: 3

Views: 1224

Answers (1)

hasib32
hasib32

Reputation: 835

try db.copyDatabase(fromdb, todb, fromhost, username, password). as manual said: http://docs.mongodb.org/manual/reference/method/db.copyDatabase/

Upvotes: 2

Related Questions