ventajas una tutorial robomongo instalar español desventajas crear como coleccion caracteristicas mongodb

tutorial - ¿Cómo copio una base de datos de un servidor MongoDB a otro?



mongodb ventajas y desventajas (3)

Tengo dos mongodbs en un servidor diferente, ambos comienzan con --auth . Ahora quiero copiar un db de un servidor a otro.

> mongo > use admin > db.copyDatabase("mydb","mydb","another_server")

Muestra:

{ "errmsg" : "", "ok" : 0 }

Y:

> db.getLastError() null

Parece que no hay error, pero la copia no es exitosa. ¿Cuál es el comando correcto para usar?


A partir de la versión 3.2 de Mongo , puedes hacerlo usando mongodump/mongorestore :

mongodump --host <from_host> --db <from_db> --archive | mongorestore --host <to_host> --archive

Información adicional se puede encontrar en:

https://docs.mongodb.com/manual/reference/program/mongodump/ https://docs.mongodb.com/manual/reference/program/mongorestore/

Para hacer que mongo remoto sea accesible, puedes crear un túnel ssh para él:

ssh -fN -L 27017:localhost:27117 <remote_host>

En este caso, el comando podría ser:

mongodump --port 27117 --db <from_db> --archive | mongorestore --archive


Además de la respuesta de Justin Jenkins, tenga en cuenta que también puede usar un túnel ssh si no tiene mongodb expuesto a la red (solo localhost)

Uso la pantalla para cambiar entre "tareas". para mi conveniencia, el túnel ssh y el mongo se ejecutan en pestañas de pantalla separadas.

paso 1: crea un túnel

ssh username@yourdomainOrIP -L 27018:localhost:27017 ...Enter your password

paso 2 :

mongo use admin db.copyDatabase(<fromdb>,<todb>,"localhost:27018",<username>,<password)


Si está utilizando --auth , tendrá que incluir su nombre de usuario / contraseña allí ...

También debe estar en el servidor de "destino" cuando ejecuta el comando.

db.copyDatabase(<from_db>, <to_db>, <from_hostname>, <username>, <password>);

Si todo eso no funciona, es posible que desee intentar algo así como crear un esclavo de la base de datos que desea copiar ...