开发者社区> 问答> 正文

mongodb怎样设置密码

mongodb怎样设置密码

展开
收起
社区秘书 2019-12-10 15:54:25 592 0
1 条回答
写回答
取消 提交回答
  • 
    mongodb的用户名和密码是基于特定数据库的,而不是基于整个系统的。所有数据库db都需要设置密码。
    
    mongodb设置管理用户和密码:
    
    1、show dbs
    
    在mongodb新版本里并没有admin数据库,但是并不妨碍第2步操作。
    
    2、use admin 进入admin数据库
    
    3、创建管理员账户
    
    
    db.createUser({user:"useradmin",pwd:"adminpassword",roles:[{role:"userAdminAnyDatabase",db:"admin"}]})
    
    mongodb中的用户是基于身份role的,该管理员账户的 role是 userAdminAnyDatabase。 ‘userAdmin’代表用户管理身份,’AnyDatabase’ 代表可以管理任何数据库。
    
    4、验证第3步用户添加是否成功
    
    
    
    
    db.auth("useradmin", "adminpassword") #如果返回1,则表示成功。
    
    exit #退出系统
    
    db.auth() #方法理解为用户的验证功能
    
    5、修改配置
    
    
    sudo vi /etc/mongod.conf
    
    找到#security: 取消注释,修改为:
    
    
    
    security:
    
    authorization: enabled #注意缩进,缩进参照配置文件其他配置。缩进错误可能第6步重启不成功。
    
    6、重启mongodb 
    
    
    sudo service mongod restart
    
    7、进入mongodb,用第3步的管理员账户登录,用该账户创建其他数据库管理员账号
    
    
    
    use admin
    
    db.auth("useradmin", "adminpassword")
    
    8、新建你需要管理的mongodb数据的账号密码。
    
    
    
    use yourdatabase
    
    db.createUser({user:"youruser",pwd:"yourpassword",roles:[{role:"dbOwner",db:"yourdatabase"}]})
    
    rote:dbOwner 代表数据库所有者角色,拥有最高该数据库最高权限。比如新建索引等。
    
    9、新建数据库读写账户
    
    
    
    use yourdatabase
    
    db.createUser({user:"youruser2",pwd:"yourpassword2",roles:[{role:"readWrite",db:"yourdatabase"}]})
    
    该用户用于该数据的读写,只拥有读写权限。
    
    10、现在数据的用户名和密码就建好了。
    
    可以使用:mongodb://youruser2:yourpassword2@localhost/yourdatabase来链接。
    
    2019-12-10 15:55:11
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Data as a Service - 数据即服务 -- MongoDB⾼级应⽤模式 立即下载
阿里云MongoDB云服务构建 立即下载
饿了么高级架构师陈东明:MongoDB是如何逐步提高可靠性的 立即下载