Как создать дамп MongoDB моей базы данных?

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

13 ответов


использовать 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 + экспорт + инструменты


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

mongodump --db database_name --collection collection_name

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

mongorestore --db database_name path_to_bson_file

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

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

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

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

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

mongodump -d <database name> -o <target directory>

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

>./mongodump

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

./mongodump --db blog --collection posts

посмотреть : mongodump


вам нужно открыть командную строку как администратор в папке, где установлен ваш 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

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

дополнительные параметры используйте их, если они вам нужны

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

    mongodump --хост --порт --имя пользователя --дБ --протокол SSL --пароль --из _date+ "%Y - %m - %d"


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

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

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

mongodb  -d tracking -o dump

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

mongorestore -d <databasename> <dum_path>

mongorestore -d tracking  dump/tracking

cmd -->

C:\Program файлы\MongoDB\Server\3.2\bin>mongodump.exe --db Dintest


ниже команда будет работать, чтобы взять дамп mongo db .

mongodump-d-o

в Windows: попробуйте этот, где c:\mongodump расположение файла дампа , Он создаст метаданные в json и резервное копирование в формате bson

C:\MongoDB\bin>mongodump-d-o c:\mongodump


или вы можете сделать сценарий резервного копирования в Windows, не забудьте добавить Winrar в %PATH%

bin\mongodump --db=COL1 -o D:\BACK\COL1
rar.exe a -ep1 -r COL1.rar COL1
rename COL1.rar "COL1_%date:~10,4%_%date:~7,2%_%date:~4,2%_%time:~0,2%_%time:~3,2%.rar"

#rmdir /s /q COL1 -> don;t run this on your mongodb/ dir !!!!!

take mongodb backup for particular db and delete 7 days old backup using bin        sh command :-

#!/bin/bash

MONGO_DATABASE="nexgtv_16"
APP_NAME="test"
MONGO_HOST="127.0.0.1"
MONGO_PORT="27017"
TIMESTAMP=`date +%F-%H%M`
MONGODUMP_PATH="/usr/bin/mongodump"
BACKUPS_DIR="/home/mongodbbackups/backups/$APP_NAME"
BACKUP_NAME="$APP_NAME-$TIMESTAMP"
$MONGODUMP_PATH -d $MONGO_DATABASE
mkdir -p $BACKUPS_DIR
mv dump $BACKUP_NAME
tar -zcvf $BACKUPS_DIR/$BACKUP_NAME.tgz $BACKUP_NAME
rm -rf $BACKUP_NAME
find /home/mongodbbackups/backups/test/ -mindepth 1 -mtime +7 -delete

mongodump-H имя хоста - U dbusername - P dbpassword --db dbname --port portnumber --out/path / folder

mongodump-H имя хоста - U dbusername - P dbpassword --db dbname --port portnumber --out/path / folder.gz