Резервное копирование 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/. Вывод команды выглядит следующим образом:
Список необязательных параметров команды mongodump выглядит следующим образом:
| Синтаксис | Описание | Пример |
|---|---|---|
| mongodump --host HOST_NAME --port PORT_NUMBER | Эта команда создаст резервную копию всех данных MongoDB. | mongodump --host example.com --port 27017 |
| mongodump --dbpath DB_PATH --out BACKUP_DIRECTORY | mongodump --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
После выполнения вышеуказанной команды результат вывода выглядит следующим образом: