MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Sauvegarde et restauration MongoDB à l'aide de MongoDump

Si vous pensez que vous souhaitez effectuer une sauvegarde de vos fichiers et dossiers dans MongoDB, suivez-moi tout au long de cet article.

nous utiliserons mongodumo et mongorestore pour notre méthodologie de sauvegarde et de restauration. mongodump lit les données d'une base de données MongoDB et crée des fichiers BSON haute fidélité que l'outil mongorestore peut utiliser pour remplir une base de données MongoDB. mongodump et mongorestore sont des outils simples et efficaces pour sauvegarder et restaurer de petits déploiements MongoDB, mais ne sont pas idéaux pour capturer des sauvegardes de systèmes plus importants. en savoir plus

Prendre une sauvegarde en utilisant 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 ==> pour fournir le chemin d'accès à la sortie de sauvegarde.

–db ==> nom de la base de données dont vous ne ferez pas la sauvegarde.

DÉPOSER 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 
>

Aucune collection n'a été affichée car la base de données a été supprimée

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

Nous avons créé la base de données mughees, mais la base de données n'est pas créée tant que vous ne créez pas de collection dans la base de données.

Maintenant, restaurez la base de données Mughees :

Maintenant, restaurez notre sauvegarde de mughees db assurez-vous que vous avez créé la base de données avec celle-ci.

[[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]#
Vérifiez la base de données de restauration :

Vérifions maintenant que la base de données et les collections à l'intérieur sont disponibles ou non :

>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