mongodb用户密码设置
安全: 设置用户和密码,通过用户名和密码才能操作mongodb服务器
-
默认情况没有用名和密码
-
单独设置
a. 以无密码的形式连接到服务器mongo.exe
b. 创建超级管理员密码
创建一个数据adminuse admin
创建超级管理员账号(文档)
db.createUser({user:“用户名”,pwd:“密码”,roles:[“root”]})db.createUser({"user":"root",pwd:"root1234",roles:["root"]})
c. 验证密码
需要切换到admin数据库,才能验证
db.auth(‘用户名’,‘密码’)db.auth("root","root1234")
d. 重新挂起mongo服务
之前挂起的服务不要验证用户1. 先停止之前的mongo服务 net stop mongodb 2. 卸载服务 sc delete mongodb 3. 重新挂载服务,要验证 mongod.exe --dbpath "E:/MongoDB/db" --logpath "E:/MongoDB/log/mongodb.log" --install --serviceName 'mongodb' --auth 注意: 多添加了一个 --auth ,表示需要验证用户 开启服务 net start mongodb 4. 测试密码是否生效 1. 连接到mongo mongo.exe 2. show dbs 报错.说明,没有权限 3. use admin show collections 报错 4. 验证超级管理员账号(登陆) use admin db.auth('root','root1234') 5. 添加普通用户 超级管理员必须验证通过后才能添加普通用户 use admin db.createUser({user:"用户名",pwd:"密码",roles:[{role:"dbOwner",db:"数据库名"}]}); db.createUser({"user":"singer",pwd:"singer",roles:[{"role":"dbOwner","db":"singer"}]}) 6. 新开dos窗口, 普通用户登陆 1. 连接 mongo.exe 2. 验证用户 use admin db.auth("singer","singer") 验证通过切换到有权限的库 use singer show collections;