Backups en Mongodb
Cuanto trabajamos con base de datos, es bastante comun hacer copias de seguridad para proteger nuestro datos, ya sea por fallos del sistemas gestor de base de datos; por mal funcionamiento de nuestros servidores; por problemas de seguridad en general.
Estas copias son llamadas "backups", y es lo que vamos a aprender a hacer hoy en Mongodb.
Requerimientos
Para poder aprender a hacer bases de datos, debes tener muy en claro que ya debes tener una base de datos y debes estar conectado a tu base de datos.
- Curso de Mongodb
Conectar a tu base de datos
Recuerda que para conectarte a tu base de datos puedes usar:
mongo --host localhost -u user -p password --authenticationDatabase admin test
¿Que necesito Saber?
Antes de empezar, existen dos terminos a tener en cuenta cuando hablamos de backups en Mongodb, estos son:
- mongodump, Este comando permite hacer una copia de seguridad de nuestras bases de datos, colecciones o cualquier dato que queramos.
- mongorestore , como su propio nombre indica este comando permite restaurar bases de datos que hayamos utilizado el comando mongodump.
mongoddump
Con el comando mongodump
de Mongodb puedes hacer un backup. Este es una herramienta adicional al shell de mongo que ya viene instalada por defecto cuando instalamos MongoDB, por lo que no se usa dentro del comando mongosh
o mongo
, sino desde tu linea de comandos.
mongodump --host=localhost --username=myuser --password=mypassword --authenticationDatabase=admin --db=faztweb
Ten en cuenta que si tu contraseña usa caracteres que el shell puede interpretar como el simbolo
$
sera necesario que lo coloques entre dobles comillas, por ejemplo si tu contraseña esmypassword$1
, cuando lo pases como parametro debes usar--password=mypassword'$'1
https://www.mongodb.com/docs/database-tools/mongodump/#required-access
Copiar con SSH a tu computador local
Una hayas generado tu carpeta dump, alli estaran tus archivos para copiarlos puedes usar un comando como este:
scp -r [email protected]:/root/dump/ c:\Users\user\Desktop\back
- https://stackoverflow.com/questions/11304895/how-do-i-copy-a-folder-from-remote-to-local-using-scp
- https://stackoverflow.com/questions/10235778/scp-from-linux-to-windows
mongorestore
mongorestore dump
mongoexport
mongoimport
Crea tu primer backup
Otras Consideraciones
Mongodb en Docker
comandos de Mongodb sin instalar Mongodb
Comandos como mongodump, mongorestore, o mongo, como ya sabes estan disponibles cuando instalas la base de datos mongodb.
en caso tengas una base de datos en la nube, pero quieres conectarte localmente tienes dos opciones
mongo-tools
mongosh
https://stackoverflow.com/questions/45441643/mongoimport-without-installing-the-database
Recursos
Finalmente, Para conocer más de los backups en Mongodb y sus parametros es recomendable visitar la <a href="https://docs.mongodb.com/manual/tutorial/backup-and-restore-tools/" target="_blank" rel="noreferrer>Documetacion.
Estos son otros Recursos: