大雄的学习人生

如何给 mongodb 设置密码

言简意赅,步骤如下:

      1. 连接mongo         
        mongo
      2. 进入admin数据库   
        use admin  
      3. 创建管理员账户
        db.createUser({ user: "adminName", pwd: "adminPassword", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })
        mongodb中的用户是基于身份role的,该管理员账户的 role是 userAdminAnyDatabase。 顾名思义即超级管理员,后续可以在命令行通过类似mysql连接数据库的方式访问到数据库的所有内容,操作如下:
        mongo -u root -p 然后输入密码:adminPassword
      4. 验证第3步用户添加是否成功
        db.auth("adminName", "adminPassword") # 如果返回1,则表示成功。db.auth()方法理解为 用户的验证功能
        exit   # 退出系统
      5. 修改配置
        sudo vim /etc/mongod.conf
        找到#security: 取消注释,修改为:
        security:
        authorization: enabled #!!!注意首行空两个,缩进错误将会导致第6步重启失败
      6. 重启mongodb
        sudo service mongod restart
      7. 进入mongodb,用第3步的 管理员账户登录,用该账户创建其他数据库管理员账号
        use admin
        db.auth("adminName", "adminPassword")
      8. 新建你需要管理的mongodb 数据的账号密码。
        use yourDatabase
        db.createUser({ user: "yourUser", pwd: "yourPassword", roles: [{ role: "dbOwner", db:"yourDatabase" }] })
        # dbOwner 代表数据库所有者角色,拥有最高该数据库最高权限。比如新建索引等
      9. 新建数据库读写账户
        use yourdatabase
        db.createUser({ user: "yourUser2", pwd: "yourPassword2", roles: [{ role: "readWrite",db: "yourDatabase" }] })
        # 该用户用于该数据的读写,只拥有读写权限。
      10. 现在数据的用户名和密码就建好了。
        使用:mongodb://yourUser2:yourPassword2@localhost/yourDatabase来链接
posted @ 2018-05-03 23:00  大雄的学习人生  阅读(784)  评论(0编辑  收藏  举报
TOP