sql >> Databáze >  >> NoSQL >> MongoDB

Zálohování a obnovení MongoDB pomocí MongoDump

V případě, že máte pocit, že chcete zálohovat své soubory a složky v MongoDB, sledujte mě tímto článkem.

pro naši metodologii zálohování a obnovy budeme používat mongodumo a mongorestore. mongodump čte data z databáze MongoDB a vytváří vysoce věrné soubory BSON, které může nástroj mongorestore použít k naplnění databáze MongoDB. mongodump a mongorestore jsou jednoduché a efektivní nástroje pro zálohování a obnovu malých nasazení MongoDB, ale nejsou ideální pro zachycování záloh větších systémů. číst více

Zálohování pomocí mongodump:
[[email protected] mongo]# mongodump --out=/home/mongoBackup --db=mughees
2019-10-21T13:32:48.421+0300 writing mughees.myNewCollection1 to 
2019-10-21T13:32:48.422+0300 writing mughees.myNewCollection2 to 
2019-10-21T13:32:48.425+0300 done dumping mughees.myNewCollection1 (3 documents)
2019-10-21T13:32:48.427+0300 writing mughees.myNewCollection3 to 
2019-10-21T13:32:48.429+0300 done dumping mughees.myNewCollection3 (0 documents)
2019-10-21T13:32:48.431+0300 done dumping mughees.myNewCollection2 (1 document)

–out ==> pro poskytnutí cesty, kam bude mít záložní výstup.

–db ==> název databáze, kterou nebudete zálohovat.

DROP mughees DB:
>show databases
admin 0.000GB
config 0.000GB
local 0.000GB
mughees 0.000GB

db.dropDatabase()

db.dropDatabase()
{ "dropped" : "mughees", "ok" : 1 }
> 

Now we will create a mughees DB again and check if there is any collection available
> use mughees 
use mughees
switched to db mughees 
> show collectionsshow collections #no collection will be shown 
>

Nebyly zobrazeny žádné sbírky, protože databáze byla zrušena

> show databases;
show databases;
admin 0.000GB
config 0.000GB
local 0.000GB

Vytvořili jsme mughees DB, ale DB se nevytvoří, dokud nevytvoříte v DB žádnou kolekci.

Nyní obnovte Mughees DB:

Nyní můžete obnovit naši zálohu mughees db, abyste se ujistili, že jste vytvořili databázi se stejnou.

[[email protected] mongo]# mongorestore --db=mughees /home/mongoBackup/mughees

2019-10-21T13:41:34.773+0300 the --db and --collection args should only be used when restoring from a BSON file. Other uses are deprecated and will not exist in the future; use --nsInclude instead
2019-10-21T13:41:34.774+0300 building a list of collections to restore from /home/mongoBackup/mughees dir
2019-10-21T13:41:34.776+0300 reading metadata for mughees.myNewCollection1 from /home/mongoBackup/mughees/myNewCollection1.metadata.json
2019-10-21T13:41:34.783+0300 reading metadata for mughees.myNewCollection2 from /home/mongoBackup/mughees/myNewCollection2.metadata.json
2019-10-21T13:41:34.784+0300 reading metadata for mughees.myNewCollection3 from /home/mongoBackup/mughees/myNewCollection3.metadata.json
2019-10-21T13:41:34.828+0300 restoring mughees.myNewCollection1 from /home/mongoBackup/mughees/myNewCollection1.bson
2019-10-21T13:41:34.832+0300 no indexes to restore
2019-10-21T13:41:34.832+0300 finished restoring mughees.myNewCollection1 (3 documents, 0 failures)
2019-10-21T13:41:34.866+0300 restoring mughees.myNewCollection2 from /home/mongoBackup/mughees/myNewCollection2.bson
2019-10-21T13:41:34.869+0300 no indexes to restore
2019-10-21T13:41:34.871+0300 finished restoring mughees.myNewCollection2 (1 document, 0 failures)
2019-10-21T13:41:34.881+0300 restoring mughees.myNewCollection3 from /home/mongoBackup/mughees/myNewCollection3.bson
2019-10-21T13:41:34.895+0300 restoring indexes for collection mughees.myNewCollection3 from metadata
2019-10-21T13:41:34.921+0300 finished restoring mughees.myNewCollection3 (0 documents, 0 failures)
2019-10-21T13:41:34.921+0300 4 document(s) restored successfully. 0 document(s) failed to restore.
[[email protected] mongo]#
Zkontrolujte obnovení databáze:

Nyní se podívejme, zda jsou db a kolekce uvnitř dostupné nebo ne:

>show databases;
admin 0.000GB
config 0.000GB
local 0.000GB
mughees 0.000GB
> > use mugheesuse mughees
switched to db mughees
> show collectionsshow collections
myNewCollection1
myNewCollection2
myNewCollection3

  1. mongoexport E QUERY SyntaxError:Neočekávaný identifikátor

  2. MongoDB:Výpočet doby prodlevy mezi každou změnou stavové hodnoty

  3. Nelze získat zdroj z fondu (SocketTimeoutException:)

  4. Jak načíst podrobnosti z mongo db a odeslat nebo uložit do objektu v metodě nodejs Fork