Comment restaurer une base de données spécifique à partir d'une sauvegarde à l'aide de la commande mongorestore

62

J'ai créé une sauvegarde de toutes mes bases de données à l'aide de la commande mongodump. Maintenant, je veux restaurer une base de données spécifique en utilisant la commande mongorestore.

Comment est-ce possible, j'utilise cette commande: option --db alors mongodb ne restaure pas une base de données spécifique.

Pankaj Choudhary
la source

Réponses:

86

Pour restaurer une base de données unique, vous devez indiquer le chemin d'accès au répertoire de vidage dans la mongorestoreligne de commande.

Par exemple:

# Backup the training database
mongodump --db training

# Restore the training database to a new database called training2
mongorestore --db training2 dump/training

L' --dboption for mongodumpspécifie la base de données source à vider.

L' --dboption pour mongorestorespécifie la base de données cible à restaurer.

Stennie
la source
Je sauvegarde en utilisant mongodump --archivepour créer un fichier .gz. Puis-je savoir comment nous restaurons à partir d'un fichier .gz et que nous spécifions également un nouveau nom de base de données? La taille de mon fichier .gz est de 2 Go. Son extraction prend donc beaucoup de temps.
Nam G VU
@NamGVU Pouvez-vous poser une nouvelle question incluant votre version de mongodumpet la ligne de commande exacte que vous utilisez? La --archivecommande crée un format d'archive spécial différent de --gzip. Selon votre mongodumpversion et les options de ligne de commande utilisées, différentes recommandations permettent de renommer des bases de données ou des collections avec mongorestore.
Stennie
J'ai faire la question comme vous avez demandé, aide s'il vous plaît. Je vous remercie! dba.stackexchange.com/q/189928/52550
Nam G VU
Pouvez-vous nous aider ici dba.stackexchange.com/q/189928/52550
Nam G VU
Merci Stennie, ta suggestion a parfaitement fonctionné pour moi.
user752746
13

Utilisez la commande suivante pour restaurer la base de données mongo:

mongorestore -d dbname dbpath
utilisateur104596
la source
9
$ mongorestore --drop -d <database-name> <dir-of-backup-files>
  • --drop Drop est nécessaire si vous remplacez une base de données existante
  • -d <database-name> Le nom de la base de données à créer / remplacer
  • <dir-of-backup-files> Pour une raison quelconque, cela est nécessaire même si c'est le répertoire courant

entrez la description de l'image ici

Référence: https://coderwall.com/p/3hx06a/restore-a-mongodb-database-mongorestore

doub1ejack
la source
1
cela a fonctionné pour moi - faites attention car il laissera tomber la db
Alexander Mills
Détails utiles ici.
Wylliam Judd
1

Restauration à l'aide de mongorestore

Après vous être assuré que mongodet mongosont en cours d'exécution, accédez au répertoire parent de la sauvegarde dans un nouveau terminal. Et utilisez la commande mongorestore dump. Où dumpest le nom du dossier dans lequel le vidage de la base de données est présent.

Restauration à l'aide de mongorestore

étudiant
la source