MongoDB: у сервера есть предупреждения о запуске
Сначала я установил MongoDB 3.2.5.Но когда я запускаю его и использую оболочку MongoDB, он дал мне следующие предупреждения:
C:\Windows\system32>mongo
MongoDB shell version: 3.2.5
connecting to: test
Server has startup warnings:
2016-04-16T11:06:17.943+0800 I CONTROL [initandlisten]
2016-04-16T11:06:17.943+0800 I CONTROL [initandlisten] ** WARNING: Insecure configuration, access control is not enabled and no --bind_ip has been specified.
2016-04-16T11:06:17.943+0800 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted,
2016-04-16T11:06:17.943+0800 I CONTROL [initandlisten] ** and the server listens on all available network interfaces.
2016-04-16T11:06:17.943+0800 I CONTROL [initandlisten]
>
моя ОС - Microsoft Windows [версия 10.0.10586].
Ответы
Ответ 1
Вы не настроили функции безопасности в Mongodb как авторизацию и аутентификацию. Используйте эту ссылку для более подробной информации. Вы можете проигнорировать это, если вы собираетесь изучать Mongodb. Но когда продукт идет на уровень производства. вы должны относиться к ним.
Вы можете включить управление доступом, используя mongod --auth.
Например, вы можете запустить mongod --auth --port 27017 --dbpath /data/db1
. После этого вы можете защитить свою базу данных с помощью имени пользователя и пароля.
вы можете добавить пользователя в базу данных, используя следующую команду.
use admin
db.auth("myUserAdmin", "abc123" )
После этого вы можете использовать mongo --port 27017 -u "myUserAdmin" -p "abc123" --authenticationDatabase "admin"
для подключения к базе данных.
Вы можете добавить bind_ip
в mongod.conf следующим образом:
`bind_ip = 127.0.0.1,192.168.161.100`
Вы можете определить многие, если вам нужно. Этот параметр bind_ip указывает MongoDB принимать соединения, с которых локальные сетевые интерфейсы, а не "удаленный IP-адрес".
И запустите mongod --config <file path to your mongod.conf>
Вы можете запустить mongod --auth --port 27017 --dbpath /data/db1 --config <file path to your mongod.conf>
Ответ 2
Запустите mongod --auth
, чтобы включить управление доступом. Подробную информацию можно найти здесь.
Ответ 3
- Выберите целевую БД (Exp:
use admin
)
- Создать пользователя в выбранной БД
Выберите требуемый DB (exp use admin
)
db.createUser(
{
user: "root",
pwd: "root",
roles: [ "readWrite", "dbAdmin" ]
}
)
Вышеупомянутая команда создаст пользователя root
с ролями readWrite
и dbAdmin
в базе admin
. больше информации о ролях
Теперь запустите сервер в режиме аутентификации, используя mongod --auth
Запустите клиент и укажите имя пользователя и пароль для входа в систему с помощью db.auth("root","root")