sql >> Database teknologi >  >> NoSQL >> MongoDB

MongoDB - Opret en sikkerhedskopi

For at oprette en sikkerhedskopi i MongoDB skal du enten kopiere filerne direkte eller bruge et af flere sikkerhedskopierings-/administrationsværktøjer.

Der er flere måder at sikkerhedskopiere en MongoDB-database på:

  • Kopiér datafilerne
  • Brug mongodump
  • Brug MongoDB Cloud Manager
  • Brug Ops Manager

Kopiér datafilerne

Du kan kopiere de underliggende datafiler, som MongoDB bruger til at gemme data. Disse findes i databiblioteket.

Standardplaceringen af ​​databiblioteket er /data/db , men hvis du bruger en anden placering, skal du bruge den i stedet for.

Du bør kopiere hele mappen for at få en komplet sikkerhedskopi.

Du kan også bruge snapshots, hvis lydstyrken understøtter det. På Linux skal du f.eks. bruge LVM (Logical Volume Manager) til at oprette et øjebliksbillede, hvorefter du kan kopiere fra det øjebliksbillede til dit backup-sted/fjernplacering.

Brug mongodump

Du kan bruge mongodump for at sikkerhedskopiere dataene og mongorestore for at gendanne den.

For hurtigt at tage backup af alt indhold på den kørende server skal du åbne en ny terminal/kommandoprompt, skifte til en mappe, som du vil have /dump mappe, der skal oprettes i, og skriv følgende:

mongodump

Du skal angive den fulde sti, hvis MongoDB bin-biblioteket ikke er i din PATH.

Hvis du opdager, at du ikke kan køre mongodump , vær sikker på, at du enten har forladt mongo hjælpeprogram, eller åbnet et nyt terminal-/kommandopromptvindue, før du kørte mongodump , da det er et separat hjælpeprogram.

Resulterende besked:

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)

Og sådan ser det ud på min Macs Finder:

Som du kan se, har den oprettet en mappe kaldet dump , derefter en mappe for hver database, og dumpede derefter alle samlinger og deres metadata i den respektive databasemappe. Jeg har udvidet musikken databasemappen for at vise filerne i den mappe.

Bemærk, at mongodump overskriver outputfiler, hvis de findes i backupdatamappen, så sørg for at flytte eller omdøbe alle filer, du skal beholde, før du kører mongodump igen.

Sikkerhedskopier en enkelt database

Du kan sikkerhedskopiere en enkelt database ved at angive navnet på databasen i --db parameter:

mongodump --db=music

Sikkerhedskopier en enkelt samling

Du kan sikkerhedskopiere en enkelt samling ved at angive navnet på samlingen i --collection parameter:

mongodump --db=music --collection=artists

Angiv en sikkerhedskopiplacering

Brug --out parameter for at angive den mappe, som du ønsker, at sikkerhedskopien skal skrives til:

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

Flere muligheder

mongodump har mange flere muligheder for at specificere, hvordan dataene sikkerhedskopieres. Du kan altid køre mongodump --help for at se, hvilke muligheder der er tilgængelige.

Gendannelse af en mongodump Sikkerhedskopiering

Du kan gendanne enhver mongodump backup ved at køre mongorestore . som fungerer på samme måde som mongodump .

Se mongorestore --help for mere info.

mongodump og mongorestore er hovedsageligt beregnet til mindre implementeringer og til delvis backup og gendannelse baseret på en forespørgsel, synkronisering fra produktions- til iscenesættelses- eller udviklingsmiljøer eller ændring af storage-motoren i en selvstændig.

Til større systemer eller sharded clusters eller replikasæt skal du bruge et mere robust backupsystem, såsom MongoDB Cloud Manager eller Ops Manager.

MongoDB Cloud Manager

MongoDB Cloud Manager er en hostet platform til at administrere MongoDB.

Du kan bruge MongoDB Cloud Manager til løbende at sikkerhedskopiere MongoDB-replikasæt og shardede klynger ved at læse oplog-dataene fra din MongoDB-implementering.

MongoDB Cloud Manager fungerer på abonnementsbasis. Mere info her.

Ops Manager

Ops Manager er ligesom MongoDB Cloud Manager, bortset fra at den er installeret på dit lokale miljø (dvs. ikke i skyen). Så du kan bruge det til overvågning, automatisering og backup af din MongoDB-implementering.

Ops Manager er tilgængelig for MongoDB-abonnenter.


  1. Beregn medianen i MongoDB aggregeringsramme

  2. Hent positionen for det valgte dokument i samlingen [mongoDB]

  3. Hvad er det rigtige mønster for indlejrede skemaer i Mongoose/MongoDB?

  4. Redis vs. Memcached – 2021 Sammenligning