Похоже, что в вашем файле mongod.conf
отсутствует директива config.
проверьте шаг 4 в документах
Перезапустить экземпляр MongoDB с контролем доступа.
Перезапустить экземпляр mongod с параметром командной строки --auth или,
если используется файл конфигурации, настройка security.authorization .
Итак, в вашем конфигурационном файле должна быть строка;
security.authorization: enabled
Из тестового окна с CentOS файл находится в /etc/mongod.conf
и должен выглядеть примерно так (Проверка правильности путей и т. Д.)
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
storage:
dbPath: /var/lib/mongo
journal:
enabled: true
processManagement:
fork: true
pidFilePath: /var/run/mongodb/mongod.pid
net:
port: 27017
bindIp: 0.0.0.0
security.authorization: enabled
Вам также может оказаться проще использовать один из инструментов management для управления пользователями с помощью графического интерфейса пользователя (при условии, что вы работаете на клиенте Windows), так как это намного проще, чем делать все через командную строку. .
После обновления конфигурации не забудьте перезапустить экземпляр Mongod и проверить файл журнала на /var/log/mongodb/mongod.log
, чтобы убедиться в отсутствии ошибок при запуске.
Помните, что вам нужно предоставить своим пользователям доступ к любой конкретной базе данных, я назначаю своих пользователей каждой базе данных, а не через базу данных 'admin' - я нахожу это проще.
И, наконец, - если вы обнаружите, что по какой-то причине вы заблокировали себя не паникуйте! просто измените строку конфигурации security.authorization: enabled
на disabled
и перезапустите ваш экземпляр, вы сможете войдите без авторизации!
В файле журнала также указываются проблемы с доступом, поэтому проверяйте это во время тестирования / настройки пользователей.
И запомните, как только закончите защитите свое развертывание и проверьте, что вы не можете войти или сделать что-либо без действительного входа в систему.