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

MongoDB - Créer une sauvegarde

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.