macos下mongoDB 3.4.5 添加用户、设置权限
在项目中需要根据项目运行环境访问,以不同的身份访问各自的db,所以研究了一下MongoDB的
需求:
给MongoDB添加两个用户分别用于开发环境和测试环境,两个用户分别访问不同的db并拥有db的最高权限。
解决步骤:
- 关闭权限验证、启动MongoDB
- 创建MongoDB超级管理员,给予最高权限
- 分别创建两个用户,给予各自db的最高权限
- 开启权限验证、启动MongoDB
- 测试
具体步骤:
-
关闭权限验证、启动MongoDB
MongoDB默认是不开启权限验证的,所以直接使用命令启动(需要在bin目录下):mongod --dbpath /usr/local/mongodb/data/ --logpath /usr/local/mongodb/logs/mongod.log -logappend --fork
- 添加并认证管理员
- 先在另一个命令窗口进入客户端(Linux可以让服务端在后台运行):`./mongo’
-
然后在admin添加管理员(role:root表示最高权限):
use admin db.createUser({
user:"admin",
pwd:"admin",
roles:[{
role:"root",
db:"admin"
}]
}) db.auth("admin", "admin") use admin db.createUser({
user:"test_user",
pwd:"123456",
roles:[{
role:"dbAdmin",
db:"test_db"
},{
role:"readWrite",
db:"test_db"
}]
}) db.auth("test_user", "123456")-
开启权限验证、启动MongoDB(先关闭第1步启动的服务端)
mongod --auth --dbpath /usr/local/mongodb/data/ --logpath /usr/local/mongodb/logs/mongod.log -logappend --fork
4.测试
mongo 127.0.0.1:27017/admin -u test_user -p
123456