一、默认数据库以无管理身份进入,无需账号密码。
二、设置管理员账号
1、新建数据库 admin
use admin
2、创建用户名和密码
db.createUser(( user:"root", pwd:"root", roles:"root")) //用户名、密码、角色
新增的管理员账号会在system.user集合中,类似mysql的user表。
3、验证密码
db.auth('username','password')
4、重新挂mongodb服务
卸载之前的服务
sc delete mongodb
重新挂带验证的mongdb服务
mongod --dbpath "D:\SW\mongodb\db" --logpath "D:\SW\mongodb\log" --install --serviceName "MongoDB" --auth
此处--auth 是指身份验证
启动服务: net start mongodb
5、测试密码是否生效
user admin
show collections
[报错]
无法显示出集合列表,说明权限不够。
验证权限
db.auth('usename','password');
再次显示所有集合
show colleations
ok,可以正常显示,说明权限已经生效
6、为其他数据库添加用户
先通过身份验证,再进入指定的数据库,添加用户
use app1
db.createUser({ user : "app1", pwd : "123456", roles : [{ "dbOwner", db:"app1"}] });