文档章节

[转]mongodb authentication 设置权限之后,新建个管理账户和一般数据库用户,在win 7 64bit 环境下测试使用实例

o
 osc_4nmshwhm
发布于 2018/08/06 17:50
字数 1114
阅读 10
收藏 0

精选30+云产品,助力企业轻松上云!>>>

如果之前安装mongodb时没有使用 --auth,那么必须要卸载MongoDB服务,进行重新安装,设置账号权限才生效!

 

主要是解决在测试使用mongo db 时候,总是出现的MongoAuthenticationException  异常和 not authorized for query,not authorized on admin to execute command 等问题。

直接上测试步骤图拉。

 

我这个是先卸载了原来的mongo服务,然后删除我们配置的data文件夹下的所有东西,同时又清空原来测试生成的log。
主要是造就个干净的测试环境。
然后再次重新启动服务,这个启动服务是带权限认证的,也就是说,你没有权限认证,是不可以操作数据库的。

你要回忆一下,你报上面的bug,是不是没有弄这个,或者你的账户,是在打开权限认证之前就添加的user。

为了测试的准确性。我建议,像我这样,直接全部干掉,整个干净的测试环境,再来一遍。反正也挺快的。

进入mongo命令行的运行环境。在admin这个管理数据库用户的数据库上添加个数据库管理账户。再退出命令行shell。

 

mongod.exe --remove --serviceName "MongoDB"
mongod --config "D:\Mongo\mongo.conf"  --auth --install --serviceName "MongoDB"
net start MongoDB
use admin
db.createUser({user: "admin",pwd: "password",roles: [ { role: "root", db: "admin" } ]});
exit

 

所使用到命令,给你贴出来,方便你复制粘贴到cmd命令行。

 

再次启动也不能说是启动,就是再次进入mongo的命令行模式,登录吧算是,并认证用户和密码

mongo --port 27017 -u admin -p password --authenticationDatabase admin
创建数据库lxkdb,当在这个数据库写入数据的时候,这个数据库就出现了
use minily
创建普通账户
db.createUser({user: "minily",pwd: "password",roles: [{ role: "readWrite", db: "minily" }]});
选择刚刚创建的数据库
use minily
然后进行数据库权限的认证,返回1就是认证OK,0就是认证失败。这个也是重点,在操作数据库之前要有那么一次的权限认证
db.auth('minily','password')
然后添加一张表,sava数据
db.student.save({name: 'zhangsan', age: 25, sex: true});
在数据库minily中,插入一条数据,这个表叫student
show collections
显示当前数据库有的集合,也就是表
db.student.find()
查student表全部

下面是使用robomongo这个数据库工具看到的测试结果。

这个工具的网址,算是个开源的项目吧。
http://blog.robomongo.org/
下载可到我的百度云盘的分享
链接:https://pan.baidu.com/s/1Jnt4p0uB1LBRjTcvgOaaFA 密码:um3k

上面这个使用的是mongo数据库3.4版本,下面的使用的是2.6版本。稍有不同。

 

 

可以看到所有的数据库,一共有三个,其中两个是system级别的,admin和local,这两个是mongo装完之后,自带的。还有个就是我刚刚创建的那个lxkdb数据库啦,可以看到这个数据库里面 是有数据的。也是我刚刚插入的。

 

然后再使用一般的普通的数据库账户登录,看看是什么效果。

 

 

可以看到,普通账户登录之后,只能看到一个数据库,也就是我刚刚自己建立的lxkdb这个数据库。另外两个是看不到的,这就是权限的关系。

 

最后,有人说,这个mongo数据库会自带个test的数据库,而且账号密码都是test,我就如下测试。

可以看到,理论是不成立的。并没有这个所谓的test数据库。所以

不要在道听途说。误人子弟啦,要自己测试一下。

 

至此,整个mongo在本地win 7 64 环境下使用的实例,就全部搞完啦。

再上个我使用的错误的图,给米娜桑看看,也许有点借鉴意义呢。

 

关于在创建用户的时候,那个roles的不同类型的理解。不知道全不全。

roles 用户角色:
1. 数据库用户角色:read、readWrite;
2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4. 备份恢复角色:backup、restore;
5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6. 超级用户角色:root

 

保存记录,感谢原作者花时间整理,原文:https://blog.csdn.net/qq_27093465/article/details/54599535

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
[转] mongodb下载、安装、配置与使用

记得在管理员模式下运行CMD,否则服务将启动失败。 - 下载和安装,图有点多,不怕啰嗦,就怕不够。 图上的说的是刚刚安装完的时候的样子,打错字啦。 创建几个文件夹具体如下:数据库路径(d...

osc_sq3qw4di
2018/06/05
1
0
[Doc]MongoDB用户创建与启用access-control

文档链接:https://docs.mongodb.com/manual/tutorial/enable-authentication/ Pre 个人总感觉数据库的文档结构不太友好, 不太解决问题。以下按照原文档结构翻译: 下面的教程以一个使用了默...

osc_ggrquk6k
2018/07/31
2
0
MongoDB 用户名密码登录

MongoDB 用户名密码登录 kimoCHG 关注 1.9 2017.01.07 23:44* 字数 1014 阅读 58236评论 4喜欢 37 Mongodb enable authentication MongoDB 默认直接连接,无须身份验证,如果当前机器可以公网...

linjin200
2019/06/14
136
0
MongoDB 用户名密码登录 认证登陆

MongoDB 用户名密码登录 kimoCHG 关注 1.9 2017.01.07 23:44* 字数 1014 阅读 58236评论 4喜欢 37 Mongodb enable authentication MongoDB 默认直接连接,无须身份验证,如果当前机器可以公网...

linjin200
2019/06/13
47
0
Mongodb下载、安装、配置与使用

记得在管理员模式下运行CMD,否则服务将启动失败 一、下载 官网下载地址:https://www.mongodb.com/download-center?jmp=nav#community 为了方便下载,我把我当时下载的这个包,放在某度的云盘...

osc_wff1160a
2018/07/23
4
0

没有更多内容

加载失败,请刷新页面

加载更多

浅谈对python pandas中 inplace 参数的理解

这篇文章主要介绍了对python pandas中 inplace 参数的理解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 pandas 中 inplace 参数在很多函数中都会有,它的作用是:是否...

Linux就该这么学
7分钟前
0
0
C++ 从基本数据类型说起

前言 int 在32位和64位操作系统,都是四个字节长度。为了能编写一个在32位和64位操作系统都能稳定运行的程序,建议采用std::int32_t 或者std::int64_t指定数据类型。*与long随操作系统子长变...

osc_sxdofc9c
7分钟前
0
0
游戏音乐的作用以及起源

游戏音乐是由特殊的音乐、语言符号、美学符号组成,在电子游戏的发展下,游戏音乐越来越成熟,游戏音乐与美术相融合,能够带给玩家视觉与声音的感官冲击,形成游戏音乐所具有的独特的审美效果...

奇亿音乐
7分钟前
0
0
2020,最新Model的设计-APP重构之路

很多的app使用MVC设计模式来将“用户交互”与“数据和逻辑”分开,而model其中一个重要作用就是持久化。下文中设计的Model可能不是一个完美的,扩展性强的model范例,但在我需要重构的app中,...

osc_mfzkzkxi
8分钟前
0
0
面对职业瓶颈,iOS 开发人员应该如何突破?

我们经常看到 iOS 开发人员(各种能力水平都有)的一些问题,咨询有关专业和财务发展方面的建议。 这些问题有一个共同点:前面都会说“我现在遇到了职业困境”,然后会问一些诸如“我是否应该...

osc_gfpedeca
9分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部