我今天首先安装了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
来启用访问控制。 详细信息可以在这里找到。
use admin
) 选择所需的数据库(exp use admin
)
db.createUser( { user: "root", pwd: "root", roles: [ "readWrite", "dbAdmin" ] } )
以上命令将在admin
数据库中创建角色为 readWrite
和dbAdmin
的root
用户。 更多有关角色的信息
现在,使用mongod --auth
以认证模式运行服务器
运行客户端并使用db.auth("root","root")
提供用户名和密码登录