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

62

Я создал резервную копию всех моих баз данных с помощью команды mongodump. Теперь я хочу восстановить конкретную базу данных с помощью команды mongorestore.

Как это возможно, я использую эту команду: параметр --db, тогда mongodb не восстанавливает конкретную базу данных.

панкадж чоудхары
источник

Ответы:

86

Чтобы восстановить одну базу данных, вам нужно указать путь к каталогу дампа как часть mongorestoreкомандной строки.

Например:

# Backup the training database
mongodump --db training

# Restore the training database to a new database called training2
mongorestore --db training2 dump/training

--dbВариант для mongodumpопределяет исходную базу данных на свалку.

--dbВариант для mongorestoreопределяет целевую базу данных для восстановления в.

Stennie
источник
Я бекап использую mongodump --archiveдля создания .gz файла. Могу ли я узнать, как мы восстанавливаем из файла .gz, а также указываем новое имя базы данных? Мой размер файла .gz составляет 2 ГБ, поэтому его извлечение занимает очень много времени.
Nam G VU
@NamGVU Можете ли вы опубликовать новый вопрос, включая вашу версию mongodumpи точную командную строку, которую вы используете? Команда --archiveсоздает специальный формат архива, который отличается от --gzip. В зависимости от используемой mongodumpверсии и параметров командной строки, существуют разные рекомендации по переименованию баз данных или коллекций mongorestore.
Стенни
Я сделал вопрос, как вам требуется, пожалуйста, помогите. Спасибо! dba.stackexchange.com/q/189928/52550
Nam G VU
Можете
Nam G VU
Спасибо, Стенни, твое предложение отлично сработало для меня.
user752746
13

Используйте следующую команду для восстановления mongo db:

mongorestore -d dbname dbpath
user104596
источник
9
$ mongorestore --drop -d <database-name> <dir-of-backup-files>
  • --drop Отбрасывание необходимо, если вы заменяете существующую БД
  • -d <database-name> Имя базы данных для создания / замены
  • <dir-of-backup-files> По какой-то причине это необходимо, даже если это текущий каталог

введите описание изображения здесь

Ссылка: https://coderwall.com/p/3hx06a/restore-a-mongodb-database-mongorestore

doub1ejack
источник
1
это сработало для меня - просто будьте осторожны, так как это уронит БД
Александр Миллс
Полезные подробности здесь.
Уильям Джадд
1

Восстановление с помощью mongorestore

Убедившись, что mongodи mongoработаете, перейдите в родительский каталог дампа в новом терминале. И используйте команду mongorestore dump. Где dumpнаходится имя папки, в которой присутствует дамп базы данных.

Восстановление с помощью mongorestore

ученик
источник