#mongodb #mongodb-query
#mongodb #mongodb-запрос
Вопрос:
Я работаю над проектом, там мне нужно выгрузить базу данных из Windows и восстановить ее на сервере centos.
Всякий раз, когда я это делаю, возникает какая-то ошибка.
Как — ошибка чтения базы данных: (неавторизованный) не авторизован в базе данных mydatabase для выполнения команды
или
ошибка подключения к хосту: не удалось подключиться к серверу: ошибка подключения (): auth: ошибка sasl conversation: не удалось пройти аутентификацию с использованием механизма «SCRAM-SHA-1»: (аутентификация не удалась) Сбой аутентификации.
Обе ОС имеют одинаковую версию mongo, то есть 4.2
Как я могу это исправить?
Ответ №1:
Ошибка not authorized on mydatabase to execute command
указывает на то, что либо вы не прошли аутентификацию, либо аутентифицированному пользователю не были предоставлены соответствующие разрешения для выполнения этой команды.
Authentication failed
означает именно это. Журнал на стороне сервера может содержать более подробную информацию, например, имена пользователей и базы данных, использованные при попытке авторизации.
Чтобы исправить это, убедитесь:
- вы предоставляете учетные данные для аутентификации
- учетная запись пользователя, которую вы используете, уже создана на сервере
- учетной записи пользователя было предоставлено разрешение для этой команды в правильной базе данных / коллекции
Страница Безопасности в документах может быть хорошим местом для начала.
Комментарии:
1. Эй, Джо, спасибо, что ответил. Итак, я создал имя пользователя и пароль для базы данных с ролью «dbOwner» и использовал эти учетные данные для восстановления на сервере. Та же ошибка сохраняется. Можете ли вы сказать мне, с чего начать смотреть на это?
2. mongorestore —имя пользователя aditsinh —пароль для передачи / home /centos/skybridge/docker_backend/skybridge/ база данных/
3. Я попробовал mongorestore -u aditsinh / home / centos / skybridge / docker_backend / skybridge / database / Это тоже
4. Запись в журнале не сообщает вам, какая команда была отклонена? Также проверьте журнал mongod, чтобы убедиться, что для аутентификации используется база данных, в которой вы создали пользователя.
5. Я не уверен, как проверить запись в журнале. 🙁