sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB - Skapa en säkerhetskopia

För att skapa en säkerhetskopia i MongoDB, kopiera antingen filerna direkt eller använd ett av flera verktyg för säkerhetskopiering/hantering.

Det finns flera sätt att säkerhetskopiera en MongoDB-databas:

  • Kopiera datafilerna
  • Använd mongodump
  • Använd MongoDB Cloud Manager
  • Använd Ops Manager

Kopiera datafilerna

Du kan kopiera de underliggande datafilerna som MongoDB använder för att lagra data. Dessa finns i datakatalogen.

Standardplatsen för datakatalogen är /data/db , men om du använder en annan plats måste du använda den istället.

Du bör kopiera hela katalogen för en fullständig säkerhetskopia.

Du kan också använda ögonblicksbilder om volymen stöder det. Till exempel, på Linux, använd LVM (Logical Volume Manager) för att skapa en ögonblicksbild, sedan kan du kopiera från den ögonblicksbilden till din säkerhetskopieringsplats/fjärrplats.

Använd mongodump

Du kan använda mongodump för att säkerhetskopiera data och mongorestore för att återställa den.

För att snabbt säkerhetskopiera allt innehåll på den körande servern, öppna en ny terminal/kommandotolk, byt till en katalog som du vill ha /dump mapp som ska skapas i och skriv följande:

mongodump

Du måste ange den fullständiga sökvägen om MongoDB bin-katalogen inte finns i din PATH.

Om du upptäcker att du inte kan köra mongodump , se till att du antingen har lämnat mongo verktyg, eller öppnade ett nytt terminal-/kommandotolkfönster innan du körde mongodump , eftersom det är ett separat verktyg.

Resultatmeddelande:

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)

Och så här ser det ut på min Macs Finder:

Som du kan se har den skapat en mapp som heter dump , sedan en mapp för varje databas, dumpade sedan alla samlingar och deras metadata till respektive databasmapp. Jag har utökat musiken databasmappen för att visa filerna i den katalogen.

Observera att mongodump skriver över utdatafiler om de finns i backupdatamappen, så se till att flytta eller byta namn på alla filer du behöver behålla innan du kör mongodump igen.

Säkerhetskopiera en enda databas

Du kan säkerhetskopiera en enskild databas genom att ange namnet på databasen i --db parameter:

mongodump --db=music

Säkerhetskopiera en enda samling

Du kan säkerhetskopiera en enskild samling genom att ange namnet på samlingen i --collection parameter:

mongodump --db=music --collection=artists

Ange en säkerhetskopieringsplats

Använd --out parameter för att ange katalogen som du vill att säkerhetskopian ska skrivas till:

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

Fler alternativ

mongodump har många fler alternativ för att ange hur data säkerhetskopieras. Du kan alltid köra mongodump --help för att se vilka alternativ som är tillgängliga.

Återställer en mongodump Säkerhetskopiering

Du kan återställa vilken mongodump som helst säkerhetskopiera genom att köra mongorestore . som fungerar på liknande sätt som mongodump .

Se mongorestore --help för mer information.

mongodump och mongorestore är huvudsakligen avsedda för mindre distributioner och för partiell säkerhetskopiering och återställning baserat på en fråga, synkronisering från produktions- till staging- eller utvecklingsmiljöer, eller för att ändra lagringsmotorn för en fristående.

För större system, eller splittrade kluster eller replikuppsättningar, använd ett mer robust backupsystem, som MongoDB Cloud Manager eller Ops Manager.

MongoDB Cloud Manager

MongoDB Cloud Manager är en värdbaserad plattform för att hantera MongoDB.

Du kan använda MongoDB Cloud Manager för att kontinuerligt säkerhetskopiera MongoDB-replikuppsättningar och fragmenterade kluster genom att läsa oplogdata från din MongoDB-distribution.

MongoDB Cloud Manager fungerar på prenumerationsbasis. Mer information här.

Ops Manager

Ops Manager är som MongoDB Cloud Manager, förutom att den är installerad på din lokala miljö (dvs inte i molnet). Så du kan använda den för att övervaka, automatisera och säkerhetskopiera din MongoDB-distribution.

Ops Manager är tillgänglig för MongoDB-prenumeranter.


  1. Django Celery Elastic Beanstalk handledare inget sådant processfel

  2. Spark Structured Streaming dynamisk sökning med Redis

  3. Cascade style delete i Mongoose

  4. I NodeJS, hur matar man ut resultat från mongodb med olika fältnamn?