开启mongodb权限接入
为了权限接入可用,必须确保有一个用户是userAdmin或者userAdminAnyDatabase的角色在admin数据库里。因此,我们首先创建用户root用户在admin数据库里
use admin
db.createUser(
{
user: "root",
pwd: "abc123",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
2.然后在创建一个我们需要使用数据库上创建一个用户并分配权限,如,在mydb数据库上创建mongo用户,并赋予读写权限,
use mydb
db.createUser(
{
user: "mongo",
pwd: "123456",
roles: [ { role: "read", db: "mydb" }, { role: "readWrite", db: "mydb" }]
}
)
3.修改配置文件,(如果在ubuntu上安装的mongodb,,配置文件在/etc/mongod.conf)
添加配置(开启验证)
security:
authorization: enabled
修改配置(开启远程连接配置)
将bindIp: 127.0.0.1改为0.0.0.0
4.完成以上操作后重启mongodb服务
sudo service mongod restart
5.使用mongo命令进入,
use mydb
权限验证
db.auth('mongo','123456')
返回1,表示验证成功,就可以使用mongo用户对数据库进行读写操作了。
6.官方英文文档参考https://docs.mongodb.org/manual/security/