Я играл с разрешениями и заблокировал себя из базы данных Монго. Я почти уверен, что сделал это, пытаясь явно добавить доступ к базе данных, но вместо этого я переписал только разрешение на доступ к базе данных. Поэтому я фактически заблокирован в базе данных Mongo, и все, что я прочитал, говорит мне, как создать суперпользователя, если у меня есть привилегия добавления пользователя. Сейчас я не думаю, что у меня есть пользователи с такой привилегией. Есть ли способ войти в базу данных как весь доступ? Я владею сервером и имею root-доступ.
29
У меня была похожая проблема, когда я создавал пользователя без предварительного добавления суперпользователя. Следующие шаги помогли решить проблему:
sudo
(sudo vi mongodb.conf
).Файл можно найти в
/etc/
папке."auth = true"
.sudo service mongod stop
)sudo service mongod start
)Затем создайте суперпользователя «root» с помощью следующей команды:
Для справки https://docs.mongodb.com/manual/reference/built-in-roles/#superuser-roles
Вернитесь и раскомментируйте
"auth=true"
. Остановите и запустите / перезапустите службу mongodb.источник
Если вы используете набор реплик с
keyfile
Keyfile используется для аутентификации в репликации.
Вы можете использовать эту команду для входа в систему с правами администратора на mongod:
Послесловие вы можете создавать или изменять вашего администратора.
источник
Проверьте ответы на этот вопрос, они могут помочь
/programming/20117104/mongodb-root-user
В основном, если у вас все еще есть доступ к серверу, вы можете получить доступ к
Admin
базе данных.На этой странице есть больше http://docs.mongodb.org/v2.4/reference/user-privileges/
Обратите внимание, что версия 2.6 меняет то, как это работает полностью. Для версии 2.6 вам нужно больше времени проводить с http://docs.mongodb.org/manual/security/
источник
Вы должны остановить Mongo, удалить файлы администратора, а затем запустить Mongo
источник