macos下mongoDB 3.4.5 添加用户、设置权限

macos下mongoDB 3.4.5 添加用户、设置权限

 

在项目中需要根据项目运行环境访问,以不同的身份访问各自的db,所以研究了一下MongoDB的

需求:

给MongoDB添加两个用户分别用于开发环境和测试环境,两个用户分别访问不同的db并拥有db的最高权限。

解决步骤:

  1. 关闭权限验证、启动MongoDB
  2. 创建MongoDB超级管理员,给予最高权限
  3. 分别创建两个用户,给予各自db的最高权限
  4. 开启权限验证、启动MongoDB
  5. 测试

具体步骤:

  1. 关闭权限验证、启动MongoDB 
    MongoDB默认是不开启权限验证的,所以直接使用命令启动(需要在bin目录下):

    mongod  --dbpath /usr/local/mongodb/data/ --logpath /usr/local/mongodb/logs/mongod.log -logappend --fork
  2. 添加并认证管理员 
  3. 先在另一个命令窗口进入客户端(Linux可以让服务端在后台运行):`./mongo’ 
  1. 然后在admin添加管理员(role:root表示最高权限):

    use admin
    
    db.createUser({
        user:"admin",
        pwd:"admin",
        roles:[{
            role:"root",
            db:"admin"
        }]
    })
    
    db.auth("admin", "admin")
  2. 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")
  3. 开启权限验证、启动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
 
原文地址:https://www.cnblogs.com/it-tsz/p/8914021.html