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

MongoDB - Crea un backup

Per creare un backup in MongoDB, copia direttamente i file o utilizza uno dei numerosi strumenti di backup/gestione.

Esistono diversi modi per eseguire il backup di un database MongoDB:

  • Copia i file di dati
  • Usa mongodump
  • Utilizza MongoDB Cloud Manager
  • Utilizza Gestione operazioni

Copia i file di dati

È possibile copiare i file di dati sottostanti che MongoDB utilizza per archiviare i dati. Questi si trovano nella directory dei dati.

La posizione predefinita della directory dei dati è /data/db , tuttavia, se utilizzi una posizione diversa, dovrai utilizzare quella.

Dovresti copiare l'intera directory per un backup completo.

Puoi anche utilizzare le istantanee se il volume lo supporta. Ad esempio, su Linux, usa LVM (Logical Volume Manager) per creare uno snapshot, quindi puoi copiare da quello snapshot nel tuo sito di backup/posizione remota.

Usa mongodump

Puoi usare mongodump per eseguire il backup dei dati e mongorestore per ripristinarlo.

Per eseguire rapidamente il backup di tutti i contenuti del server in esecuzione, apri un nuovo Terminale/Prompt dei comandi, cambia in una directory in cui desideri /dump cartella in cui creare e digitare quanto segue:

mongodump

Dovrai fornire il percorso completo se la directory bin MongoDB non è nel tuo PERCORSO.

Se scopri che non puoi eseguire mongodump , assicurati di essere uscito da mongo utilità o ha aperto una nuova finestra Terminale/Prompt dei comandi prima di eseguire mongodump , poiché è un'utilità separata.

Messaggio risultante:

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)

Ed ecco come appare sul Finder del mio Mac:

Come puoi vedere, ha creato una cartella chiamata dump , quindi una cartella per ogni database, quindi ha eseguito il dump di tutte le raccolte e dei relativi metadati nella rispettiva cartella del database. Ho ampliato la musica cartella del database per mostrare i file all'interno di quella directory.

Nota che mongodump sovrascrive i file di output se esistono nella cartella dei dati di backup, quindi assicurati di spostare o rinominare tutti i file che devi conservare prima di eseguire mongodump di nuovo.

Backup di un singolo database

È possibile eseguire il backup di un singolo database specificando il nome del database in --db parametro:

mongodump --db=music

Backup di una singola raccolta

Puoi eseguire il backup di una singola raccolta specificando il nome della raccolta in --collection parametro:

mongodump --db=music --collection=artists

Specifica una posizione di backup

Usa il --out parametro per specificare la directory in cui si desidera che venga scritto il backup:

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

Più opzioni

mongodump ha molte più opzioni per specificare come viene eseguito il backup dei dati. Puoi sempre eseguire mongodump --help per vedere quali opzioni sono disponibili.

Ripristino di un mongodump Backup

Puoi ripristinare qualsiasi mongodump backup eseguendo mongorestore . che funziona in modo simile a mongodump .

Vedi mongorestore --help per maggiori informazioni.

mongodump e mongorestore sono destinati principalmente a distribuzioni più piccole e per backup e ripristini parziali basati su una query, la sincronizzazione dalla produzione agli ambienti di staging o sviluppo o la modifica del motore di archiviazione di uno standalone.

Per sistemi più grandi, cluster partizionati o set di repliche, utilizza un sistema di backup più robusto, come MongoDB Cloud Manager o Ops Manager.

Gestione cloud MongoDB

MongoDB Cloud Manager è una piattaforma in hosting per la gestione di MongoDB.

Puoi utilizzare MongoDB Cloud Manager per eseguire continuamente il backup dei set di repliche MongoDB e dei cluster partizionati leggendo i dati oplog dalla tua distribuzione MongoDB.

MongoDB Cloud Manager funziona su abbonamento. Maggiori informazioni qui.

Responsabile delle operazioni

Ops Manager è come MongoDB Cloud Manager, tranne per il fatto che è installato nel tuo ambiente locale (cioè non nel cloud). Quindi puoi usarlo per monitorare, automatizzare e fare il backup della tua distribuzione MongoDB.

Ops Manager è disponibile per gli abbonati MongoDB.