mongodb - query - mongodump replicaset
Mongodump desde servidor remoto (5)
Aquí hay un ejemplo de exportación de la colección desde el servidor de nodo a la máquina local:
Host : xxx.xxx.xxx.xx
Port :27017
Username:”XXXX”
Password :”YYYY”
AuthDB : “admin”
“DB”: “mydb”
D:/mongodb-backup>mongodump -h xxx.xxx.xxx.xxx –port 27017 -u “XXXX” -p “YYYY” –authenticationDatabase “admin” –db “mydb”
Recientemente portamos algunos datos a MongoDB y ahora estamos buscando ejecutar copias de seguridad diarias, preferiblemente desde una tarea cron, y restaurar una de las copias de seguridad a una base de datos secundaria de Mongo.
Nuestro sistema está configurado de la siguiente manera:
Hay tres servidores: el servidor 1 tiene la base de datos mongo de desarrollo, el servidor 2 tiene dos bases de datos mongo, una para los datos de almacenamiento y la otra para la producción, y el tercer servidor es desde donde ejecutamos todos nuestros trabajos cron / scripts de lotes.
Revisé los documentos de Mongo e inicié sesión en nuestro servidor de tareas cron e intenté ejecutar el siguiente comando: (el nombre de usuario, el host y la contraseña han sido cambiados por seguridad, en realidad no me estoy conectando a localhost)
mongodump --host 127.0.0.1/development --port 27017 --username user --password pass --out /opt/backup/mongodump-2013-10-07-1
Recibo los siguientes mensajes:
Lunes 7 de octubre 10:03:42 inicio del nuevo monitor de conjunto de réplicas para el conjunto de réplicas 127.0.0.1 con semilla de desarrollo: 27017
Lunes 7 de octubre 10:03:42 conectado con éxito al desarrollo de semillas: 27017 para el conjunto de réplicas 127.0.0.1
Lunes 7 de octubre 10:03:42 advertencia: nodo: desarrollo: 27017 no es parte del conjunto: 127.0.0.1 ismaster: {ismaster: true, maxBsonObjectSize: 16777216, ok: 1.0}
Mon Oct 7 10:03:44 réplica del conjunto de monitores para el conjunto de réplicas 127.0.0.1 iniciado, la dirección es 127.0.0.1/
Lunes, 7 de octubre 10:03:44 El inicio de [ReplicaSetMonitorWatcher] no pudo conectarse a [127.0.0.1/development:27017] conexión no pudo establecer 127.0.0.1/development:27017
Confirmé que puedo conectarme a la base de datos de mongo -u -p ip/development
usando mongo -u -p ip/development
Nuestro objetivo final será volcar los datos de la base de datos de producción y almacenarlos en la base de datos provisional. Estas dos bases de datos están ubicadas en la misma caja, si eso marca una diferencia, pero para propósitos de prueba, solo estoy tratando de obtener una copia de seguridad de los datos de prueba de desarrollo.
También puede utilizar gzip para realizar una copia de seguridad de una colección y comprimir la copia de seguridad sobre la marcha
mongodump --db somedb --collection somecollection --out - | gzip > collectiondump.gz
O con una fecha en el nombre del archivo:
mongodump --db somedb --collection somecollection --out - | gzip > dump_`date "+%Y-%m-%d"`.gz
mongo
client puede analizar el URI de la cadena de conexión de MongoDB , por lo que en lugar de especificar todos los parámetros de conexión por separado, puede pasar el URI de la cadena de conexión única.
En su caso, está intentando pasar el URI de conexión como host
, pero 127.0.0.1/development
no es un nombre de host válido. Esto significa que debe especificar el parámetro de la database
separado del host
:
mongodump --host 127.0.0.1 -d development --port 27017 --username user --password pass --out /opt/backup/mongodump-2013-10-07-1
Esto funcionó para mí.
Referencia: https://docs.mongodb.com/manual/reference/program/mongodump
Sintaxis 1:
mongodump --host <hostname:port> --db <database> --username <username> --password <password> --out <path>
Sintaxis 2:
mongodump -h <hostname:port> -d <database> -u <username> -p <password> -o <path>
Ejemplo 1:
mongodump --host 127.0.0.1:27017 --db db_app --username root --password secret --out /backup/db/app-17-03-07
Ejemplo 2:
mongodump -h 127.0.0.1:27017 -d db_app -u root -p secret -o /backup/db/app-17-03-07
mongodump --host remotehostip:port --db dbname -u username -p password