在刚安装完毕的时候MongoDB都默认有一个admin数据库,而admin.system.users中将会保存比在其它数据库中设置的用户权限更大的用户信息。 
当admin.system.users中一个用户都没有时,即使mongod启动时添加了--auth参数,如果没有在admin数据库中添加用户,此时不进行任何认证还是可以做任何操作,直到在admin.system.users中添加了一个用户。
windows下打开DOS进入bin目录执行mongo打开shell:
D:\mongodb2.4.3\bin>mongo
使用admin库:
> use admin 
> db.addUser("root","123456")
         "user" : "root", 
         "readOnly" : false, 
         "pwd" : "34e5772aa66b703a319641d42a47d696" 
验证用户: 
> db.auth("root","123456")  
1   //验证成功,返回1 
> show dbs //查看全部数据库
admin   0.0625GB
local   0.03125GB
mydb    0.125GB
test    (empty)
> use mydb //使用mydb数据库
switched to db mydb
> db.addUser("101.key","123456")   //默认可读写,只读为db.addUser("101.key","123456",true)
> db.system.users.find() //查看所有用户
> db.system.users.remove({user:"10.key"})//给当前数据库删除用户
>show collections  //查看所有集合
>db.serverStatus() //可以获取到mongodb的服务器统计信息,其中包括 :全局锁,索引,用户操作行为等等这些统计信息
> exit //退出
D:\mongodb2.4.3\bin>mongostat -uroot -p123456 --port 27017 //观看实时数据变化
 
D:\mongodb2.4.3\bin>mongo admin -uroot -p123456  //指定admin数据库,帐号登录
-------------------------------------------------------------------------------------------------
远程用户连接
语法结构:mongo –uusername –ppwd ServerIP:port/dbname 
其中port默认为27017 
>mongo -uroot -p123456 192.168.2.150/admin 
---------------------------------------------------------------------------
java 客户端链接主要代码:
 private static Mongo mg = null;
 private static Map dbMap = new HashMap();
 private DB db = null;
 public DAOMongo(){
  if (mg == null){
   try {
    mg = new Mongo("localhost", 27017);
   } catch (UnknownHostException e) {
    e.printStackTrace();
   } catch (MongoException e) {
    e.printStackTrace();
   }
  }
  if (dbMap.containsKey("mydb")){
   db = (DB)dbMap.get("mydb");
  }else{
   db = mg.getDB("mydb");
   boolean authResult =  db.authenticate("101.key", "123456".toCharArray());
   logger.info("authResult="+authResult);
   if (authResult){
    dbMap.put("mydb", db);
   }
  }
  //admin 库     root  123456
 }

MongoDB 权限管理 用户名和密码的操作的更多相关文章

  1. mongodb 权限设置--用户名、密码、端口

    转自:http://www.cnblogs.com/valor-xh/p/6369432.html 一.关于权限的默认配置 在默认情况下,mongod是监听在0.0.0.0之上的,任何客户端都可以直接 ...

  2. MongoDB权限管理之用户名和密码的操作

    MongoDB默认是不需要输入用户名和密码,客户就可以登录的.但是出于安全性的考虑,我们还是要为其设置用户名和密码.本文主要介绍的是MongoDB权限管理之用户名和密码的操作,希望能对您有所帮助. 本 ...

  3. MongoDB的使用学习之(四)权限设置--用户名、密码、端口==

    本文参照:http://hi.baidu.com/tianhuimin/item/590d96cfd7ac1509c610b26a 本人也是按照此文章操作的,但是有些不妥,红色文字就是我实践后,需要改 ...

  4. MongoDB——权限管理

    MongoDB--权限管理 MongoDB默认是没有权限验证的,但生产环境中,没有权限控制是很不安全的. 我们先不详谈太多概念,直接动手创建两个典型的账号: 超级管理员,类似sql server的sa ...

  5. mongodb权限管理

    说到mongodb就得先谈谈mongodb的用户组,和传统的关系型数据库不一样,mongodb并没有在创建应用时就要求创建权限管理组,所以类似于Robomongo这样的数据库可视化工具在创建conne ...

  6. 基于MongoDB权限管理+gridfs文件上传------云盘系统

    学了一会Mongo,开始毕设的编写. 毕设目前一共分为如下模块 用户管理模块 管理员管理模块 文件管理模块 分享模块 目前已经完成了权限管理部分的后端代码.上传下载已经实现Demo.先把权限弄好后在整 ...

  7. mongodb权限管理(转)

    Mongodb 预定义角色 Mongodb 中预定义了一些角色,把这些角色赋予给适当的用户上,用户就只能进行角色范围内的操作. 数据库用户角色 (所有数据库都有) read 用户可以读取当前数据库的数 ...

  8. MongoDB如何使用“”用户名和密码“”

    在去年的 DB 勒索事件之后, 不少的同学开始加强 Mongodb 的安全性, 其中一种办法就是设置复杂的密码. 那么问题来了, 如果设置的密码里包含一些如 “@”, “:” 一样的特殊字符怎么办? ...

  9. Mongodb 权限管理

随机推荐

  1. 用Module元素实现SharePoint Webpart Page的自动生成

    最近研发的项目中开发了很多的WebPart,每次部署这些WebPart到新环境中总是很麻烦,因为自己要新创建WebpartPage,同时还要把这些WebPart放到指定的WebPart页中去: 为了方 ...

  2. 我的插件のinput文本框实现宽度自适应

    先来最后结果:DEMO 介绍一下如何让一个文本框的宽度能够随着文本框中的内容的宽度增长而增长,也就是能够实现宽度自适应效果. 代码实例如下: <!DOCTYPE html> <htm ...

  3. not exists 跟not in 纪念一下

  4. (转) Spring读书笔记-----部署我的第一个Spring项目

    一.Spring介绍 Spring是一个轻量级的Java EE容器,它也是一种从实际需求出发,着眼于轻便,灵活,易于开发,易测试和易部署的轻量级开发框架.Spring它完成了大量开发中的通用步骤,留给 ...

  5. Fibonacci 数列递归 重复计算

    public class Fibonacci{ public static long F(long n){ System.out.println("call F" + n); ) ...

  6. QT UI 如果发现布局之后,button不在父widget的中间

    如果发现布局之后,button不在父widget的中间: 调整父widget的布局参数:

  7. 读书笔记之 - javascript 设计模式 - 接口、封装和链式调用

    javascript 采用设计模式主要有下面的三方面原因: 可维护性:设计模式有助于降低模块之间的耦合程度.这使代码进行重构和换用不同的模块变得容易,也使程序员在大型项目中合作变得容易. 沟通:设计模 ...

  8. android入门到熟练(三)----UI界面

    1.TextView 以下只是一部分属性,还有很多属性需要在用到时候再说 <TextView android:textSize="24sp"//文字大小 android:te ...

  9. ES6-个人学习笔记二--解构赋值

    第二期,解构赋值如果能够熟练应用确实是个十分方便的功能,但是过分的依赖和嵌套只会让代码理解和维护起来十分困难,是个体现高逼格的表达式呢~ 1,解构赋值的基础 //定义:es6运行按照一定模式,从数组或 ...

  10. TensorFlow和最近发布的slim

    笔者将和大家分享一个结合了TensorFlow和最近发布的slim库的小应用,来实现图像分类.图像标注以及图像分割的任务,围绕着slim展开,包括其理论知识和应用场景. 之前自己尝试过许多其它的库,比 ...