MongoDB 3.0 以后密码认证机制有两种:SCRAM-SHA-1(默认),MONGODB-CR(spring情况下用)。
MongoDB安装:
完成后:注意:使用有两种:有密码,无密码(默认)。
1. 创建配置文件
进入根目录下:mongod.conf
dbpath=D:\Program Files\MongoDB\Server\3.4\data #数据库路径
logpath=D:\Program Files\MongoDB\Server\3.4\logs\mongo.log #日志输出文件路径
logappend=true #错误日志采用追加模式
journal=true #启用日志文件,默认启用
quiet=true #这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
port=27017 #端口号 默认为27017
2. 无认证启动
进入bin目录下:命令执行:mongod --config "D:\Program Files\MongoDB\Server\3.4\mongod.conf
创建用户:因为是spring用,所以创建认证机制为MONGODB-CR
a. 修改认证机制
在bin目录下命令执行:mongo.进入后:
先查看:
db.system.version.findOne({"_id" : "authSchema"})
5:SCRAM-SHA-1
3:MONGODB-CR
再修改机制
> use admin
switched to db admin
> var schema = db.system.version.findOne({"_id" : "authSchema"})
> schema.currentVersion = 3
3
> db.system.version.save(schema)
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
db.createUser(
{
user: "admin",
pwd: "123456",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
授权
db.auth('admin','123456')
注解:查看:db.system.users.find() 删除:db.dropUser("myuser")
3. 认证状态下启动:mongod --config "D:\Program Files\MongoDB\Server\3.4\mongod.conf -auth完成操作。
4. 登陆:mongo admin -u admin -p 123456
备注:可以加入系统服务中自动启动。可以在配置文件中加入auth=true.则为认证状态。
创建用户:
常用到的角色介绍:
Read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限
1.在数据库安装成功的基础上连接上客户端输入如下指令:
use admin
db.createUser(
{
user: "root",
pwd: "root",
roles: [ { role: "root", db: "admin" } ]
}
)
注意:创建超级管理员成功