sql >> Database >  >> NoSQL >> MongoDB

MongoDB - Maak een back-up

Om een ​​back-up te maken in MongoDB, kopieert u de bestanden rechtstreeks of gebruikt u een van de verschillende back-up-/beheertools.

Er zijn verschillende manieren om een ​​back-up te maken van een MongoDB-database:

  • Kopieer de gegevensbestanden
  • Gebruik mongodump
  • Gebruik MongoDB Cloud Manager
  • Ops Manager gebruiken

Kopieer de gegevensbestanden

U kunt de onderliggende gegevensbestanden kopiëren die MongoDB gebruikt om gegevens op te slaan. Deze bevinden zich in de gegevensmap.

De standaardlocatie van de gegevensmap is /data/db , maar als u een andere locatie gebruikt, moet u die in plaats daarvan gebruiken.

U moet de hele map kopiëren voor een volledige back-up.

U kunt ook snapshots gebruiken als het volume dit ondersteunt. Gebruik in Linux bijvoorbeeld LVM (Logical Volume Manager) om een ​​snapshot te maken, dan kun je van die snapshot naar je back-upsite/externe locatie kopiëren.

Gebruik mongodump

U kunt mongodump . gebruiken om een ​​back-up te maken van de gegevens en mongorestore om het te herstellen.

Om snel een back-up te maken van alle inhoud van de draaiende server, opent u een nieuwe Terminal/Command Prompt, gaat u naar een map waarvan u de /dump wilt map waarin u wilt maken en typ het volgende:

mongodump

U moet het volledige pad opgeven als de MongoDB-bin-directory niet in uw PATH staat.

Als u merkt dat u mongodump . niet kunt uitvoeren , zorg ervoor dat je ofwel de mongo . hebt verlaten hulpprogramma, of opende een nieuw Terminal/Command Prompt-venster voordat u mongodump uitvoerde , omdat het een apart hulpprogramma is.

Resulterend bericht:

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)

En zo ziet dat eruit in de Finder van mijn Mac:

Zoals je kunt zien, heeft het een map gemaakt met de naam dump , vervolgens een map voor elke database en vervolgens alle verzamelingen en hun metadata in de respectieve databasemap gedumpt. Ik heb de muziek uitgebreid databasemap om de bestanden in die map te tonen.

Merk op dat mongodump overschrijft uitvoerbestanden als ze zich in de back-upgegevensmap bevinden, dus zorg ervoor dat u alle bestanden die u moet bewaren verplaatst of hernoemt voordat u mongodump uitvoert nogmaals.

Back-up van een enkele database

U kunt een back-up maken van een enkele database door de naam van de database op te geven in de --db parameter:

mongodump --db=music

Back-up van één verzameling

U kunt een back-up maken van een enkele verzameling door de naam van de verzameling op te geven in de --collection parameter:

mongodump --db=music --collection=artists

Geef een back-uplocatie op

Gebruik de --out parameter om de map op te geven waarnaar u de back-up wilt schrijven:

mongodump --db music --out /data/backups

Meer opties

mongodump heeft veel meer opties om te specificeren hoe de gegevens worden geback-upt. U kunt altijd mongodump --help . uitvoeren om te zien welke opties beschikbaar zijn.

Een mongodump herstellen Back-up

Je kunt elke mongodump restore herstellen back-up door mongorestore . uit te voeren . die op een vergelijkbare manier werkt als mongodump .

Zie mongorestore --help voor meer info.

mongodump en mongorestore zijn voornamelijk bedoeld voor kleinere implementaties en voor gedeeltelijke back-up en herstel op basis van een query, synchronisatie van productie- naar staging- of ontwikkelomgevingen, of het wijzigen van de storage-engine van een standalone.

Gebruik voor grotere systemen of shard-clusters of replicasets een robuuster back-upsysteem, zoals MongoDB Cloud Manager of Ops Manager.

MongoDB Cloud Manager

MongoDB Cloud Manager is een gehost platform voor het beheren van MongoDB.

U kunt MongoDB Cloud Manager gebruiken om continu een back-up te maken van MongoDB-replicasets en shard-clusters door de oplog-gegevens van uw MongoDB-implementatie te lezen.

MongoDB Cloud Manager werkt op abonnementsbasis. Meer info hier.

Ops-manager

Ops Manager is vergelijkbaar met MongoDB Cloud Manager, behalve dat het in uw lokale omgeving is geïnstalleerd (d.w.z. niet in de cloud). U kunt het dus gebruiken voor het bewaken, automatiseren en back-uppen van uw MongoDB-implementatie.

Ops Manager is beschikbaar voor MongoDB-abonnees.


  1. Doorgaan met invoegen na dubbele sleutelfout met PyMongo

  2. De strijd om de NoSQL-databases - MongoDB en de NoSQL-functies van MSSQL vergelijken

  3. Zoek naar documenten waarvan de matrixgrootte groter is dan 1

  4. Sleutels vinden die niet verlopen zijn in Redis