Pour créer une sauvegarde dans MongoDB, copiez les fichiers directement ou utilisez l'un des nombreux outils de sauvegarde/gestion.
Il existe plusieurs manières de sauvegarder une base de données MongoDB :
- Copiez les fichiers de données
- Utilisez
mongodump
- Utiliser MongoDB Cloud Manager
- Utiliser le gestionnaire d'opérations
Copier les fichiers de données
Vous pouvez copier les fichiers de données sous-jacents que MongoDB utilise pour stocker les données. Ceux-ci sont situés dans le répertoire de données.
L'emplacement par défaut du répertoire de données est /data/db , cependant, si vous utilisez un emplacement différent, vous devrez l'utiliser à la place.
Vous devez copier l'intégralité du répertoire pour une sauvegarde complète.
Vous pouvez également utiliser des instantanés si le volume le prend en charge. Par exemple, sous Linux, utilisez LVM (Logical Volume Manager) pour créer un instantané, puis vous pouvez copier cet instantané vers votre site de sauvegarde/emplacement distant.
Utilisez mongodump
Vous pouvez utiliser mongodump
pour sauvegarder les données et mongorestore
pour le restaurer.
Pour sauvegarder rapidement tout le contenu du serveur en cours d'exécution, ouvrez un nouveau terminal/invite de commande, accédez à un répertoire dans lequel vous souhaitez que le /dump dossier à créer et tapez ce qui suit :
mongodump
Vous devrez fournir le chemin complet si le répertoire bin MongoDB n'est pas dans votre PATH.
Si vous constatez que vous ne pouvez pas exécuter mongodump , assurez-vous que vous avez soit quitté le mongo ou ouvert une nouvelle fenêtre Terminal/Invite de commandes avant d'exécuter mongodump , car il s'agit d'un utilitaire distinct.
Message résultant :
2016-07-12T15:44:34.467+0700 writing music.artists to 2016-07-12T15:44:34.467+0700 writing music.musicians to 2016-07-12T15:44:34.467+0700 writing music.catalog to 2016-07-12T15:44:34.468+0700 done dumping music.artists (13 documents) 2016-07-12T15:44:34.469+0700 done dumping music.musicians (10 documents) 2016-07-12T15:44:34.469+0700 done dumping music.catalog (10 documents) 2016-07-12T15:44:34.470+0700 writing music.producers to 2016-07-12T15:44:34.470+0700 writing music.jazz to 2016-07-12T15:44:34.470+0700 done dumping music.producers (5 documents) 2016-07-12T15:44:34.470+0700 done dumping music.jazz (1 document) 2016-07-12T15:44:34.534+0700 writing test.restaurants to 2016-07-12T15:44:34.705+0700 done dumping test.restaurants (25359 documents)
Et voici à quoi cela ressemble sur le Finder de mon Mac :
Comme vous pouvez le voir, il a créé un dossier appelé dump , puis un dossier pour chaque base de données, puis a vidé toutes les collections et leurs métadonnées dans le dossier de base de données respectif. J'ai développé la musique dossier de base de données pour afficher les fichiers dans ce répertoire.
Notez que mongodump
écrase les fichiers de sortie s'ils existent dans le dossier de données de sauvegarde, alors assurez-vous de déplacer ou de renommer tous les fichiers que vous devez conserver avant d'exécuter mongodump
à nouveau.
Sauvegarder une seule base de données
Vous pouvez sauvegarder une seule base de données en spécifiant le nom de la base de données dans le --db
paramètre :
mongodump --db=music
Sauvegarder une seule collection
Vous pouvez sauvegarder une seule collection en spécifiant le nom de la collection dans le --collection
paramètre :
mongodump --db=music --collection=artists
Spécifiez un emplacement de sauvegarde
Utilisez le --out
paramètre pour spécifier le répertoire dans lequel vous souhaitez que la sauvegarde soit écrite :
mongodump --db music --out /data/backups
Plus d'options
mongodump
a beaucoup plus d'options pour spécifier comment les données sont sauvegardées. Vous pouvez toujours exécuter mongodump --help
pour voir quelles options sont disponibles.
Restauration d'un mongodump
Sauvegarde
Vous pouvez restaurer n'importe quel mongodump
sauvegarde en exécutant mongorestore
. qui fonctionne de manière similaire à mongodump
.
Voir mongorestore --help
pour plus d'informations.
mongodump
et mongorestore
sont principalement destinés à des déploiements plus petits, ainsi qu'à des sauvegardes et restaurations partielles basées sur une requête, à la synchronisation de la production vers des environnements de préproduction ou de développement, ou à la modification du moteur de stockage d'un système autonome.
Pour les systèmes plus grands, les clusters fragmentés ou les jeux de réplicas, utilisez un système de sauvegarde plus robuste, tel que MongoDB Cloud Manager ou Ops Manager.
Gestionnaire de cloud MongoDB
MongoDB Cloud Manager est une plate-forme hébergée pour la gestion de MongoDB.
Vous pouvez utiliser MongoDB Cloud Manager pour sauvegarder en continu les jeux de réplicas MongoDB et les clusters fragmentés en lisant les données oplog de votre déploiement MongoDB.
MongoDB Cloud Manager fonctionne sur abonnement. Plus d'informations ici.
Responsable des opérations
Ops Manager est comme MongoDB Cloud Manager, sauf qu'il est installé sur votre environnement local (c'est-à-dire pas dans le cloud). Vous pouvez donc l'utiliser pour surveiller, automatiser et sauvegarder votre déploiement MongoDB.
Ops Manager est disponible pour les abonnés MongoDB.