查看: 99|回覆: 0

mongodb启用auth,使用密码登录

[複製鏈接]

3

主題

0

回帖

0

積分

热心网友

金币
0
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2010-5-9
發表於 2019-10-24 18:41:00 | 顯示全部樓層 |閲讀模式
  • 更新操作: db.users.update({'currentVersion':3},{$set:{'currentVersion':5}})

  • 首先安装下载(略过)

  • mongod 启动服务,有多重启动方式,另外可配置各种启动参数
     mongod --config "D:/mongodb/server/mongo.cfg"

mongod --dbpath "D:\mongodb\server\data\db"

  • show dbs
  • use admin
  • show tables
  1. 新建用户 db.createUser({user:”账号”,pwd:”密码”,roles:[{“role”:”userAdmin”,”db”:”admin”},{“role”:”root”,”db”:”admin”},{“role”:”userAdminAnyDatabase”,”db”:”admin”}]})

Read:允许用户读取指定数据库

readWrite:允许用户读写指定数据库

dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile

userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户

clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。

readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限

readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限

userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限

dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。

root:只在admin数据库中可用。超级账号,超级权限(本次创建的就是超级账号)

  • 对账号授权:db.auth(“账号”,”密码”)

  • 重启mongo 加上 --auth 参数

  • 此时如不使用用户名密码登录,show dbs, 和 show tables 都无权限

  • 使用账号密码登录:mongo -u admin -p 12345 localhost:27017/admin (该账户admin,虽然是admin库中的用户,但是具有所有数据库的权限:userAdminAnyDatabase
    )

  • 以下为mongo.cfg的简单配置

dbpath=D:\mongodb\server\data\db 
logpath=D:\mongodb\server\log\mongo.log
logappend=true
port=27017
auth=true
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即注册

本版積分規則

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部