Ошибка восстановления MongoDB
Я пытаюсь восстановить базу данных mongodb из дампа в Ubuntu 14.04.2, дамп был создан на версии оболочки MongoDB: 2.4.13, и я восстанавливаю на версии оболочки MongoDB: 3.0.1.
Это команда, которую я запускаю, и ошибка, которую я получаю.
Mongorestore / для дома / на другое / резервные копии / постановка / mongo
2015-04-01T12: 12: 32.886 + 0200 создание списка БД и коллекций для восстановления из / home / somename / backups / staging / mongo dir
2015-04-01T12: 12: 32.896 + 0200 при условии, что пользователи в каталоге дампа имеют версию <= 2.4 (версия для аутентификации 1)
2015-04-01T12: 12: 32.896 + 0200 Ошибка: коллекции пользователей и ролей в дампе имеют несовместимую версию проверки подлинности с целевым сервером: невозможно восстановить пользователей версии 1 проверки подлинности на сервер версии 5 проверки подлинности
Есть ли способ обойти это или исправить?
Любая помощь будет высоко ценится
3 ответа
Вы можете обойти эту проблему, перемещая admin
каталога из папки дампа, затем повторно запустите команду mongorestore.
Например, если вы бежали
mongorestore --dir ~/path/to/mongodumpdir
и это не удалось, то, скорее всего, у вас есть admin
папка там. Вы можете переместить его и запустить команду выше.
Я считаю, что особенно это system.users.bson
это вызывает проблему. С Монго 2.x.x
а также 3.x.x
добавлять и хранить пользователей по-разному.
Конечно, пользователи вашего старого mongodb не будут доступны в вашем новом БД, но вы всегда можете вручную добавить их обратно.
Попробуйте добавить базу данных аутентификации в команду CLI как: --authenticationDatabase admin
Попробуйте добавить --authenticationMechanism SCRAM-SHA-1
см. документы: https://docs.mongodb.com/manual/reference/program/mongorestore/.