Резервное копирование MongoDB (mongodump) и восстановление (mongorestore)


Резервное копирование данных MongoDB

В MongoDB мы используем команду mongodump для резервного копирования данных MongoDB. Эта команда может экспортировать все данные в указанный каталог.

Команда mongodump может использовать параметры для указания сервера, на который передаются экспортированные данные, а также объёма экспортируемых данных.

Синтаксис

Синтаксис скрипта команды mongodump следующий:

>mongodump -h dbhost -d dbname -o dbdirectory
  • -h:

    Адрес сервера, на котором находится MongoDB, например: 127.0.0.1. Также можно указать номер порта: 127.0.0.1:27017

  • -d:

    Экземпляр базы данных для резервного копирования, например: test

  • -o:

    Место, где хранятся резервные данные, например: c:\data\dump. Этот каталог необходимо создать заранее. После завершения резервного копирования система автоматически создаёт каталог test в каталоге dump, и в этом каталоге хранятся резервные данные этого экземпляра базы данных.

Пример

Запустите локально службу mongod, используя порт 27017. Откройте окно командной строки, перейдите в каталог bin каталога установки MongoDB и введите команду mongodump:

>mongodump

После выполнения указанной выше команды клиент подключится к службе MongoDB по IP-адресу 127.0.0.1 и порту 27017 и создаст резервную копию всех данных в каталоге bin/dump/. Вывод команды выглядит следующим образом:

MongoDB数据备份

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

СинтаксисОписаниеПример
mongodump --host HOST_NAME --port PORT_NUMBERЭта команда создаст резервную копию всех данных MongoDB.mongodump --host example.com --port 27017
mongodump --dbpath DB_PATH --out BACKUP_DIRECTORYmongodump --dbpath /data/db/ --out /data/backup/
mongodump --collection COLLECTION --db DB_NAMEЭта команда создаст резервную копию коллекций указанной базы данных.mongodump --collection mycol --db test

Восстановление данных MongoDB

MongoDB использует команду mongorestore для восстановления данных из резервной копии.

Синтаксис

Синтаксис команды mongorestore следующий:

>mongorestore -h <hostname><:port> -d dbname <path>
  • --host <:port>, -h <:port>:

    Адрес сервера, на котором находится MongoDB, по умолчанию: localhost:27017

  • --db , -d :

    Экземпляр базы данных для восстановления, например: test. Конечно, это имя может отличаться от использованного при резервном копировании, например test2.

  • --drop:

    Во время восстановления сначала удаляются текущие данные, затем восстанавливаются данные из резервной копии. То есть после восстановления все данные, добавленные или изменённые после резервного копирования, будут удалены. Используйте с осторожностью!

  • <path>:

    Последний параметр mongorestore задаёт расположение данных резервной копии, например: c:\data\dump\test.

    Нельзя одновременно указывать параметры <path> и --dir. С помощью --dir также можно задать каталог резервной копии.

  • --dir:

    Укажите каталог резервной копии

    Нельзя одновременно указывать параметры <path> и --dir.

Далее мы выполняем следующую команду:

>mongorestore

После выполнения вышеуказанной команды результат вывода выглядит следующим образом:

MongoDB数据恢复

Другие расширения