MongoDB:服务器有启动警告

我今天首先安装了MongoDB 3.2.5,但是当我启动它并使用MongoDB shell时,它给了我下面的这些警告:

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]。

您还没有像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中添加bind_ip ,如下所示,

 `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>

运行mongod --auth来启用访问控制。 详细信息可以在这里找到。

  • 选择目标数据库(Exp: use admin
  • 在选定的数据库中创建用户

选择所需的数据库(exp use admin

 db.createUser( { user: "root", pwd: "root", roles: [ "readWrite", "dbAdmin" ] } ) 

以上命令将在admin数据库中创建角色为 readWritedbAdminroot用户。 更多有关角色的信息

现在,使用mongod --auth以认证模式运行服务器

运行客户端并使用db.auth("root","root")提供用户名和密码登录