За да създадете резервно копие в MongoDB, копирайте файловете директно или използвайте един от няколко инструмента за архивиране/управление.
Има няколко начина за архивиране на база данни MongoDB:
- Копирайте файловете с данни
- Използвайте
mongodump
- Използвайте MongoDB Cloud Manager
- Използвайте Ops Manager
Копирайте файловете с данни
Можете да копирате основните файлове с данни, които MongoDB използва за съхранение на данни. Те се намират в директорията с данни.
Местоположението по подразбиране на директорията с данни е /data/db , обаче, ако използвате друго местоположение, ще трябва да го използвате вместо това.
Трябва да копирате цялата директория за пълно архивиране.
Можете също да използвате моментни снимки, ако обемът го поддържа. Например в Linux използвайте LVM (Logical Volume Manager), за да създадете моментна снимка, след което можете да копирате от тази моментна снимка във вашия резервен сайт/отдалечено местоположение.
Използвайте mongodump
Можете да използвате mongodump
за архивиране на данните и mongorestore
за да го възстановите.
За бързо архивиране на цялото съдържание на работещия сървър, отворете нов терминал/команден ред, променете в директория, която искате /dump папка, в която да се създаде, и въведете следното:
mongodump
Ще трябва да предоставите пълния път, ако директорията MongoDB bin не е във вашия PATH.
Ако установите, че не можете да стартирате mongodump , уверете се, че сте излезли от mongo помощна програма или отвори нов прозорец на терминал/команден ред, преди да стартирате mongodump , тъй като е отделна помощна програма.
Резултатно съобщение:
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)
И ето как изглежда това на Finder на моя Mac:
![](http://www.sqldat.com/article/uploadfiles/202205/2022051111565788.png)
Както можете да видите, той е създал папка, наречена dump , след това папка за всяка база данни, след което изхвърли всички колекции и техните метаданни в съответната папка на базата данни. Разширих музиката база данни, за да се покажат файловете в тази директория.
Имайте предвид, че mongodump
презаписва изходните файлове, ако съществуват в папката с архивни данни, така че не забравяйте да преместите или преименувате всички файлове, които трябва да запазите, преди да стартирате mongodump
отново.
Архивиране на една база данни
Можете да архивирате една база данни, като посочите името на базата данни в --db
параметър:
mongodump --db=music
Архивиране на една колекция
Можете да архивирате една колекция, като посочите името на колекцията в --collection
параметър:
mongodump --db=music --collection=artists
Посочете местоположение за архивиране
Използвайте --out
параметър, за да посочите директорията, в която искате да се запише архивът:
mongodump --db music --out /data/backups
Още опции
mongodump
има много повече опции за определяне как се архивират данните. Винаги можете да стартирате mongodump --help
за да видите кои опции са налични.
Възстановяване на mongodump
Архив
Можете да възстановите всеки mongodump
архивиране чрез стартиране на mongorestore
. който работи по подобен начин на mongodump
.
Вижте mongorestore --help
за повече информация.
mongodump
и mongorestore
са предназначени главно за по-малки внедрявания и за частично архивиране и възстановяване въз основа на заявка, синхронизиране от производствена към среда на етап или разработка или промяна на механизма за съхранение на самостоятелен.
За по-големи системи или разчленени клъстери или набори от реплики използвайте по-стабилна система за архивиране, като MongoDB Cloud Manager или Ops Manager.
MongoDB Cloud Manager
MongoDB Cloud Manager е хоствана платформа за управление на MongoDB.
Можете да използвате MongoDB Cloud Manager за непрекъснато архивиране на набори реплики на MongoDB и разчленени клъстери, като четете oplog данните от вашето внедряване на MongoDB.
MongoDB Cloud Manager работи на база абонамент. Повече информация тук.
Диспечер на операции
Ops Manager е като MongoDB Cloud Manager, с изключение на това, че е инсталиран във вашата локална среда (т.е. не в облака). Така че можете да го използвате за наблюдение, автоматизиране и архивиране на внедряването на MongoDB.
Ops Manager е достъпен за абонати на MongoDB.