Как создать дамп MongoDB для моей базы данных? - PullRequest
127 голосов
/ 03 февраля 2011

Какую команду я использую и запускаю?

Ответы [ 15 ]

117 голосов
/ 01 апреля 2015

Чтобы сбросить базу данных для резервного копирования, вы вызываете эту команду на своем терминале

mongodump --db database_name --collection collection_name

Чтобы импортировать файл резервной копии в mongodb, вы можете использовать следующую команду на вашем терминале

mongorestore --db database_name path_to_bson_file
77 голосов
/ 15 июля 2013

Вы также можете использовать gzip для создания резервной копии одной коллекции и сжатия резервной копии на лету:

mongodump --db somedb --collection somecollection --out - | gzip > collectiondump.gz

или с датой в имени файла:

mongodump --db somedb --collection somecollection --out - | gzip > dump_`date "+%Y-%m-%d"`.gz

Обновление:
Резервное копирование всех коллекций базы данных в папке с датами.Файлы gziped:

mongodump --db somedb --gzip --out /backups/`date +"%Y-%m-%d"`

Или для одного архива:

mongodump --db somedb --gzip --archive > dump_`date "+%Y-%m-%d"`.gz

Или когда mongodb работает внутри докера:

docker exec <CONTAINER> sh -c 'exec mongodump --db somedb --gzip --archive' > dump_`date "+%Y-%m-%d"`.gz
72 голосов
/ 03 февраля 2011

Использование mongodump:

$ ./mongodump --host prod.example.com
connected to: prod.example.com
all dbs
DATABASE: log    to   dump/log
        log.errors to dump/log/errors.bson
                713 objects
        log.analytics to dump/log/analytics.bson
                234810 objects
DATABASE: blog    to    dump/blog
        blog.posts to dump/log/blog.posts.bson
                59 objects
DATABASE: admin    to    dump/admin

Источник: http://www.mongodb.org/display/DOCS/Import+Export+Tools

57 голосов
/ 13 февраля 2015

Эта команда создаст дамп данной базы данных в формате json и bson.

14 голосов
/ 03 февраля 2011

Существует утилита под названием: mongodump В командной строке Монго вы можете ввести:

>./mongodump

Выше будет создан дамп всех баз данных на вашем локальном хосте. Для создания дампа из одной коллекции используйте:

./mongodump --db blog --collection posts

Посмотрите на: mongodump

10 голосов
/ 19 июня 2017

Вам нужно открыть командную строку от имени администратора в папке, где установлен ваш Mongo (в моем случае: C: \ Program Files \ MongoDB \ Server \ 3.4 \ bin). Если вы хотите сбросить всю базу данных, вы можете просто использовать:

mongodump --db database_name

У вас также есть возможность сбросить только определенную коллекцию (и) или сбросить все, кроме определенной (их) коллекции.

Если вы хотите сбросить только одну коллекцию (например, пользователей):

mongodump  --db database_name --collection users

Если вы хотите сбросить всю коллекцию, кроме пользователей:

mongodump  --db database_name --excludeCollection=users

Также возможно вывести дамп в файл архива:

mongodump --archive=test.archive --db database_name
7 голосов
/ 14 мая 2018

Вы можете вывести свою базу данных и восстановить ее с помощью следующей команды

mongodb  -d <Your_db_name> -o <path of your folder>

, например, моя база данных называется tracking У меня есть дамп в папке дампа

mongodb  -d tracking -o dump

Восстановление дампа

mongorestore -d <databasename> <dum_path>

mongorestore -d tracking  dump/tracking
7 голосов
/ 18 сентября 2017

Следующая команда подключается к удаленному серверу для выгрузки базы данных:

<> необязательные параметры используют их, если они вам нужны

  • host - имя хостапорт
  • имя слушающего порта имя пользователя
  • имя пользователя db db
  • имя базы данных ssl
  • безопасное соединение с
  • выход насозданная папка с именем

    mongodump --host --port --username --db --ssl --password --out _date + "% Y-% m-% d"

5 голосов
/ 01 января 2019

Резервное копирование / восстановление Mongodb с синхронизацией.

Резервное копирование:

sudo mongodump --db db_name --out /path_of_your_backup/`date +"%m-%d-%y"`

--db аргумент для имени базы данных

--out аргумент для пути вывода

Восстановление:

sudo mongorestore --db db_name --drop /path_of_your_backup/01-01-19/db_name/

--drop аргумент для удаления базы данных перед восстановлением

Сроки:

Вы можете использовать crontab для резервного копирования по времени:

sudo crontab -e

Открывается в редакторе (например, nano)

3 3 * * * mongodump --out /path_of_your_backup/`date +"%m-%d-%y"`

резервное копирование каждый день в 03:03

В зависимости от размеров базы данных MongoDB у вас скоро может закончиться диск пространство со слишком большим количеством резервных копий. Вот почему так же рекомендуется чистить старые резервные копии регулярно или сжимать их. Например, чтобы удалить все резервные копии старше 7 дней вы можете использовать следующие bash Команда:

3 1 * * * find /path_of_your_backup/ -mtime +7 -exec rm -rf {} \;

удалить все резервные копии старше 7 дней

Удачи.

ссылка: https://www.digitalocean.com/community/tutorials/how-to-back-up-restore-and-migrate-a-mongodb-database-on-ubuntu-14-04

3 голосов
/ 15 октября 2017

cmd ->

C: \ Program Files \ MongoDB \ Server \ 3.2 \ bin> mongodump.exe --db Dintest

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...