看完这个,你就是MongoDB大神

给MongoDB授权

Mongo

适合场景:

网站数据:适合实时的插入,更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性。

缓存:适合作为信息基础设施的缓存层。在系统重启之后,由Mongo搭建的持久化缓存层可以避免下层的数据源过载。

大尺寸,低价值的数据:使用传统的关系型数据库存储一些数据时可能会比较昂贵。

高伸缩性的场景:适合由数十或数百台服务器组成的数据库。Mongo的路线图中已经包含MapReduce引擎的内置支持。

用于对象及JSON数据的存储:MongoBSON数据格式非常适合文档化格式的存储及查询。

模式:

mongodb开启或者关闭授权功能时还是挺麻烦的,需要新建服务键入mongod --auth。为了方便,我这里是建了两个服务,用到哪个就切换至哪个服务。

--需要授权

mongod --logpath "D:\data\log\mongodb.log" --logappend --dbpath "D:\data\db" --auth --serviceName

"MongoDBService" --serviceDisplayName "MongoDBService"  --install

 

--不需要授权

mongod --logpath "D:\data\log\mongodb.log" --logappend --dbpath "D:\data\db" --serviceName

"MongoDBServiceNoAuth" --serviceDisplayName "MongoDBServiceNoAuth"  --install

 

创建用户步骤

1.    先使用非授权方式开启mongodb,如开启MongoDBServiceNoAuth服务

a)     我们首先就要建立一个超级管理员,然后再用超级管理员建立其他帐号: 

>use admin

>db.addUser( { user: "root", pwd: "admin", roles: [ "userAdminAnyDatabase" ] } )

#角色默认是admin,我们可以通过 show roles命令查看所有可选角色

b)     为帐号启用admin数据库认证,这样他就可以操作admin数据库了。

>db.auth("root", "admin")  #认证帐号

>db.system.users.find(); #查看当前已有的用户信息

 

2.    再使用授权方式开启mongodb,如开启MongoDBService服务

a)     使用用刚才的超级帐号登录数据库(admin)

mongo -u root -p admin 127.0.0.1:27017/admin

 

b)     为其他数据库添加用户了

比如wdcexplorerdb数据库

>use wdcexplorerdb

>db.addUser("bond"," 123456")

 

c)     认证

db.auth("bond"," 123456")

 

d)     使用新用户登录

mongo -u bond -p 123456 127.0.0.1:27017/wdcexplorerdb

 

参考:

https://my.oschina.net/ososchina/blog/738608

http://www.cnblogs.com/chenjianxiang/p/6909236.html

http://www.cnblogs.com/xusir/archive/2012/12/24/2830957.html

  • 发表于 2017-11-09 09:40
  • 阅读 ( 2225 )
  • 分类:Java

你可能感兴趣的文章

相关问题

2 条评论

请先 登录 后评论
不写代码的码农
魏延

IT

5 篇文章

作家榜 »

  1. 威猛的小站长 124 文章
  2. Jonny 65 文章
  3. 江南烟雨 36 文章
  4. - Nightmare 33 文章
  5. doublechina 31 文章
  6. HJ社区-肖峰 29 文章
  7. 伪摄影 22 文章
  8. Alan 14 文章