Я впервые установил MongoDB 3.4.1 сегодня. Но когда я запускаю его и использую оболочку MongoDB, он выдал мне следующие предупреждения:
C:\Users\hs>"C:\Program Files\MongoDB\Server\3.4\bin\mongo.exe
MongoDB shell version v3.4.1
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.1
Server has startup warnings:
2017-01-12T21:19:46.941+0800 I CONTROL [initandlisten]
2017-01-12T21:19:46.942+0800 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
2017-01-12T21:19:46.942+0800 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
2017-01-12T21:19:46.942+0800 I CONTROL [initandlisten]
мой компьютер - Microsoft Windows [ version 10.0.14393
].
Ответы:
Mongodb v3.4
Для создания защищенной базы данных вам необходимо сделать следующее:
Убедитесь, что у пользователя, запускающего процесс, есть разрешения и что каталоги существуют (
/data/db
в данном случае).1) Запустите MongoDB без контроля доступа.
mongod --port 27017 --dbpath /data/db
2) Подключитесь к экземпляру.
mongo --port 27017
3) Создайте пользователя-администратора (в базе данных аутентификации админа) .
use admin db.createUser( { user: "myUserAdmin", pwd: "abc123", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } )
4) Перезапустите экземпляр MongoDB с контролем доступа.
mongod --auth --port 27017 --dbpath /data/db
5) Подключитесь и авторизуйтесь как администратор пользователя.
mongo --port 27017 -u "myUserAdmin" -p "abc123" --authenticationDatabase "admin"
6) Создайте дополнительных пользователей по мере необходимости для вашего развертывания (например, в тестовой базе данных аутентификации) .
use test db.createUser( { user: "myTester", pwd: "xyz123", roles: [ { role: "readWrite", db: "test" }, { role: "read", db: "reporting" } ] } )
7) Подключитесь и авторизуйтесь как myTester.
mongo --port 27017 -u "myTester" -p "xyz123" --authenticationDatabase "test"
Я просто объяснил здесь краткую версию официальных документов: https://docs.mongodb.com/master/tutorial/enable-authentication/
источник
security.authorization
в системуmongod.conf
??????Вам нужно удалить старую папку db и воссоздать новую. Это решит вашу проблему.
источник