


























今天尝试了在Windows7环境下安装MongoDB,遇到了一些问题,这里做一下记录。
dbpath=C:\mongodb\data
logpath=C:\mongodb\logs\mongo.log
logappend=true
journal=true
quiet=true
port=27017cd C:\mongodb\bin
mongod --config "C:\mongodb\mongo.conf" --logpath "C:\mongodb\logs\mongo.log" --install --serviceName "MongoDB"
mongod.exe --remove --serviceName "MongoDB" #如果需要移除这个服务的话
MonogoDB默认是无需权限认证即可进行CRUD操作的,但是为了保证MongoDB的使用尤其是商业使用,MongoDB应该要求是做权限配置。
关于权限,需要理解:
MongoDB有默认的角色参考官方文档,也可以自定义角色,默认的角色包括:
上述的配置完成后,可以按照下面的操作进行:
C:\Users\kejun.he>mongo
> use admin
switched to db admin
> show collections
system.version> db.createUser(
{
user:"sa",
pwd:"root",
roles:["root"]
})
> db.createUser(
{
user:"root",
pwd:"root",
roles:["clusterAdmin", "readWriteAnyDatabase", "dbAdminAnyDatabase", "userAdminAnyDatabase"]
})
> db.createUser(
{
user:"admin",
pwd:"admin",
roles:[{role:"dbAdminAnyDatabase",db:"admin"}]
})auth=true
========================
net stop mongoDB
net start mongoDB我们再重新登录,发现需要认证的配置生效了,这时候需要通过认证登录:
C:\Users\kejun.he>mongo
MongoDB shell version v3.4.3
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.3
> show dbs
2017-04-25T13:04:34.435+0800 E QUERY [thread1] Error: listDatabases failed:{
"ok" : 0,
"errmsg" : "not authorized on admin to execute command { listDatabases:
1.0 }",
"code" : 13,
"codeName" : "Unauthorized"
} :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
Mongo.prototype.getDBs@src/mongo/shell/mongo.js:62:1
shellHelper.show@src/mongo/shell/utils.js:761:19
shellHelper@src/mongo/shell/utils.js:651:15
@(shellhelp2):1:1在上面的代码中,我们可看到需要检查admin的权限,use admin之后不能直接查询,通过权限认证之后才能查看admin数据库下的表。
* 继续增加普通用户,方便用户访问特定的数据库
> use admin
> db.auth("admin","admin")
> use upwords
switched to db upwords
> db.createUser({
user:"up",
pwd:"up",
roles:[{role:"readWrite",db:"upwords"},{role:"dbAdmin",db:"upwords"}]
})
Successfully added user: {
"user" : "up",
"roles" : [
{
"role" : "readWrite",
"db" : "upwords"
},
{
"role" : "dbAdmin",
"db" : "upwords"
}
]
}
> use upwords
switched to db upwords
> db.auth("up","up")
1
> show collections
abc
test显示添加成功。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。