版权声明:本文为CSDN博主「han_chuang」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
本次转载 实测 db version v3.4.1,稍有补充和改动(感谢原作者,很方便,一次成功)
1、以无访问控制模式启动mongodb
管理员权限打开cmd窗口
官方语句:
mongod --port 27017 --dbpath / var / lib / mongodb
如果你把bin目录配置到了环境变量中,那么不用上面的,直接执行下面的就行:
net start mongodb
ps:mongodb3.x版本之后,在安装过程中就已经自动把服务加到window系统中了,所以不需要乱七八糟配置去配置服务,可以参考这个看一下mongodb4.0的安装方式
2、连接到实例
mongo --port 27017
3、创建超级用户,这个用户可以管理所有用户的增删改以及权限控制
admin这个库是mongodb自动带的,专门管理用户和权限的,现在需要创建一个超级管理员权限(拥有userAdminAnyDatabase和readWriteAnyDatabase两个权限)的用户。用户名和密码随便写,但是角色必须是这两个:
use admin
db.createUser(
{
user: "myUserAdmin",
pwd: "123456",
roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
}
)
db.createUser({user:"myUserAdmin", pwd:"123456", roles:[{role:"userAdminAnyDatabase", db:"admin"}, "readWriteAnyDatabase"]})
创建成功后会打印出来结果:
4、然后关掉mongodb服务
官方的方法是在当前实例下,执行:
db.adminCommand( { shutdown: 1 } )
或者:
net stop mongodb
再或者去任务管理器关掉就行了
5、以授权方式启动mongodb服务,并验证权限
启动命令最后加入 --auth
或者:
设置配置文件mongod.cfg(在mongo安装目录的bin目录下),以官方方式打开授权认证:
管理员权限运行cmd,并输入以下命令启动mongodb:
net start mongodb
验证权限有两种方式
连接实例的时候就验证
mongo --port 27017 -u "myUserAdmin" --authenticationDatabase "admin" -p
之后会让你输入密码:输入123456
连接实例之后,使用数据库的时候验证
先连接实例:
mongo --port 27017
然后验证:(用户名密码是上面自己设置的,要记下来)
use admin
db.auth("myUserAdmin", "123456" )
返回一个:1,就代表成功了
6、给其他数据库创建用户权限
一旦通过用户管理员身份验证,就可以使用 db.createUser()创建其他用户。可以将任何内置角色或用户定义的角色分配给用户,角色可以看官网介绍
我这里创建了一个mytest数据库:
user mytest
这条语句就是,数据库存在则转到该数据库,不存在则创建之后转到该数据库
然后创建用户
use mytest
db.createUser(
{
user: "myTester",
pwd: "123456",
roles: [ { role: "readWrite", db: "mytest" },
{ role: "read", db: "hanchuang" } ]
}
)
db.createUser({user:"myTester", pwd:"123456", roles: [{role:"readWrite", db: "mytest"}]})
创建成功之后,断开实例连接:
exit
然后重新以验证方式登录实例,这里使用第一种方式(连接时验证):
mongo --port 27017 -u "myTester" --authenticationDatabase "mytest" -p
输入密码:123456,搞定!
现在你有权在mytest中执行读写操作了:
use mytest
db.users.insertOne({name:"hanchuang",phone:"133xxxxxxx"})
查询一下插入结果:
db.users.find().pretty()
ps:mongodb3.x版本之后,在安装过程中就已经自动把服务加到window系统中了,所以不需要乱七八糟配置去配置服务,可以参考这个看一下mongodb4.0的安装方式