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")