sql >> Base de Datos >  >> NoSQL >> MongoDB

Copia de seguridad y restauración de MongoDB usando MongoDump

En caso de que sienta que desea realizar una copia de seguridad de sus archivos y carpetas en MongoDB, sígame a través de este artículo.

Usaremos mongodumo y mongorestore para nuestra metodología de copia de seguridad y restauración. mongodump lee datos de una base de datos MongoDB y crea archivos BSON de alta fidelidad que la herramienta mongorestore puede usar para llenar una base de datos MongoDB. mongodump y mongorestore son herramientas simples y eficientes para realizar copias de seguridad y restaurar pequeñas implementaciones de MongoDB, pero no son ideales para capturar copias de seguridad de sistemas más grandes. Leer más

Haciendo una copia de seguridad usando mongodump:
[[email protected] mongo]# mongodump --out=/home/mongoBackup --db=mughees
2019-10-21T13:32:48.421+0300 writing mughees.myNewCollection1 to 
2019-10-21T13:32:48.422+0300 writing mughees.myNewCollection2 to 
2019-10-21T13:32:48.425+0300 done dumping mughees.myNewCollection1 (3 documents)
2019-10-21T13:32:48.427+0300 writing mughees.myNewCollection3 to 
2019-10-21T13:32:48.429+0300 done dumping mughees.myNewCollection3 (0 documents)
2019-10-21T13:32:48.431+0300 done dumping mughees.myNewCollection2 (1 document)

–out ==> para proporcionar la ruta a la que llevará la salida de la copia de seguridad.

–db ==> nombre de la base de datos de la que no se realizará la copia de seguridad.

BOTA mughees DB:
>show databases
admin 0.000GB
config 0.000GB
local 0.000GB
mughees 0.000GB

db.dropDatabase()

db.dropDatabase()
{ "dropped" : "mughees", "ok" : 1 }
> 

Now we will create a mughees DB again and check if there is any collection available
> use mughees 
use mughees
switched to db mughees 
> show collectionsshow collections #no collection will be shown 
>

No se han mostrado colecciones ya que la base de datos se ha descartado

> show databases;
show databases;
admin 0.000GB
config 0.000GB
local 0.000GB

Hemos creado la base de datos de mughees, pero la base de datos no se crea hasta ya menos que cree una colección dentro de la base de datos.

Ahora restaure Mughees DB:

Ahora restablezcamos nuestra copia de seguridad de mughees db, asegúrese de haber creado la base de datos con la misma.

[[email protected] mongo]# mongorestore --db=mughees /home/mongoBackup/mughees

2019-10-21T13:41:34.773+0300 the --db and --collection args should only be used when restoring from a BSON file. Other uses are deprecated and will not exist in the future; use --nsInclude instead
2019-10-21T13:41:34.774+0300 building a list of collections to restore from /home/mongoBackup/mughees dir
2019-10-21T13:41:34.776+0300 reading metadata for mughees.myNewCollection1 from /home/mongoBackup/mughees/myNewCollection1.metadata.json
2019-10-21T13:41:34.783+0300 reading metadata for mughees.myNewCollection2 from /home/mongoBackup/mughees/myNewCollection2.metadata.json
2019-10-21T13:41:34.784+0300 reading metadata for mughees.myNewCollection3 from /home/mongoBackup/mughees/myNewCollection3.metadata.json
2019-10-21T13:41:34.828+0300 restoring mughees.myNewCollection1 from /home/mongoBackup/mughees/myNewCollection1.bson
2019-10-21T13:41:34.832+0300 no indexes to restore
2019-10-21T13:41:34.832+0300 finished restoring mughees.myNewCollection1 (3 documents, 0 failures)
2019-10-21T13:41:34.866+0300 restoring mughees.myNewCollection2 from /home/mongoBackup/mughees/myNewCollection2.bson
2019-10-21T13:41:34.869+0300 no indexes to restore
2019-10-21T13:41:34.871+0300 finished restoring mughees.myNewCollection2 (1 document, 0 failures)
2019-10-21T13:41:34.881+0300 restoring mughees.myNewCollection3 from /home/mongoBackup/mughees/myNewCollection3.bson
2019-10-21T13:41:34.895+0300 restoring indexes for collection mughees.myNewCollection3 from metadata
2019-10-21T13:41:34.921+0300 finished restoring mughees.myNewCollection3 (0 documents, 0 failures)
2019-10-21T13:41:34.921+0300 4 document(s) restored successfully. 0 document(s) failed to restore.
[[email protected] mongo]#
Verifique la base de datos de restauración:

Ahora verifiquemos si la base de datos y las colecciones internas están disponibles o no:

>show databases;
admin 0.000GB
config 0.000GB
local 0.000GB
mughees 0.000GB
> > use mugheesuse mughees
switched to db mughees
> show collectionsshow collections
myNewCollection1
myNewCollection2
myNewCollection3