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.