一、安装前创建文件目录
1.创建C:MongoDB目录。
2.创建C:MongoDBdata目录。
3.创建C:MongoDBlogs目录。
4.创建C:MongoDBlogsmongo.log文件。
二、官网下载安装
安装目录选择第一步创建的目录。
三、加入系统环境变量
C:MongoDBin
四、安装服务
1.创建配置文件C:MongoDBmongod.conf
#数据库路径
dbpath=C:MongoDBdata
#日志输出文件路径
logpath=C:MongoDBlogsmongo.log
#错误日志采用追加模式
logappend=true
#启用日志文件,默认启用
journal=true
#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
quiet=true
#端口号 默认为27017
port=27017
#密码验证
#auth=true
2.安装服务
mongod --config "C:MongoDBmongod.conf" --install --serviceName "MongoDB"
3.启动
net start MongoDB
4.创建管理员
mongo
>use admin;
>db.createUser(
{ user: "admin",
customData: {description: "superuser"},
pwd: "password",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
);
5.创建超级管理员
>use admin
>db.createUser(
{
user:"root",
pwd:"password",
roles:["root"]
}
);
角色具体说明:
注意:创建某个数据库用户时,应先use dataBaseName
切换到对应数据库
Read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
dbOwner:数据库拥有者,包含readWrite、dbAdmin、userAdmin
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限
root:只在admin数据库中可用。超级账号,超级权限
五、配置登陆验证
1.取消注释
配置文件C:MongoDBmongod.conf中的
#auth=true
2.重启服务加载配置文件
sc stop MongoDB
sc start MongoDB
3.测试
mongo
>use admin;
>db.auth("admin", "password");
1
P.S:
创建业务数据库管理员
>db.createUser({
user:"user1",
pwd:"123456",
customData:{
name:'coodyz',
email:'coodyz@qq.com',
age:20,
},
roles:[
{role:"readWrite",db:"db001"},
{role:"readWrite",db:"db002"},
'read'// 对其他数据库有只读权限,对db001、db002是读写权限
]
});
修改密码
>use admin;
>db.changeUserPassword("username", "password");
修改密码和用户信息
>db.runCommand(
{
updateUser:"username",
pwd:"password",
customData:{title:"password"}
}
);