MongoDB - пользователи не восстанавливаются с помощью команды mongorestore

Я новичок в MongoDB и тестирую некоторые базовые операции резервного копирования и восстановления в одном экземпляре MongoDB.

Все тесты работали нормально, кроме восстановления пользователей.

Сначала я создал резервную копию тестовой базы данных (db_test), используя следующую команду:

$ mongodump -u adm_dump --authenticationDatabase admin -d db_test --dumpDbUsersAndRoles -o /opt/backup/mongodump_db_test

adm_dump - это пользователь, которого я создал с ролями "восстановление" и "резервное копирование".

2 пользователя присутствуют в базе данных db_test с ролями "readWrite" и "read" соответственно. Так что я ожидал, что эти оба пользователя будут восстановлены.

Затем я восстановил базу данных в базу данных db_test_2 (не существует):

$ mongorestore -u adm_dump --authenticationDatabase admin -d db_test_2 --restoreDbUsersAndRoles /opt/backup/mongodump_db_test/db_test

Новая база данных db_test_2 успешно создана (все коллекции восстановлены), но пользователи не восстановлены в db_test2.

Ниже бревенчатого хвоста:

...
2016-06-29T18:28:26.429+0200    restoring users from /opt/backup/mongodump_db_test/db_test/$admin.system.users.bson
2016-06-29T18:28:26.464+0200    roles file '/opt/backup/mongodump_db_test/db_test/$admin.system.roles.bson' is empty; skipping roles restoration
2016-06-29T18:28:26.464+0200    restoring roles from /opt/backup/mongodump_db_test/db_test/$admin.system.roles.bson
2016-06-29T18:28:26.468+0200    done

Я также предоставил роль "userAdmin" adm_dump и несколько раз выполнял операции, но безуспешно. Должен ли я дать другую конкретную роль пользователю adm_dump?

Я прочитал документ и гуглил параметры dumpDbUsersAndRoles / restoreDbUsersAndRoles, но ничего не нашел.

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

MongoDB версия 3.2.1 на CentOS 6.6

0 ответов

Если кто-то еще пытается это сделать...

  1. Не указывайте db или коллекцию в дампе mongo.
  2. Войдите в систему как пользователь с правами администратора (возможно adm_dump есть эти привилегии?)
  3. Не использовать --dumpDbUsersAndRoles, это применимо только в том случае, если вы укажете db. См. Документы.

Пример:

$ mongodump -u adm_dump --authenticationDatabase admin --dumpDbUsersAndRoles -o /opt/backup/mongodump_db_test
Другие вопросы по тегам