`
xinyuemengxing
  • 浏览: 5051 次
社区版块
存档分类
最新评论

mongo db

 
阅读更多
转载请注明出自:http://www.mrco.cn/article/5735b04fc49f11e762327991.html

搭建本博客刚遇到的一个问题,做个日记吧,相信从Mongodb 2.X的同学升级到Mongodb 3.X后发现设置用户的方式不同了,而且网上的资料也相对少。由于我也是刚接触Mongodb所以也是查阅了好多文章跟资料才知道如何解决。希望能帮助到其它遇到这个问题的童鞋。
  在Mongodb 2.X的版本中网上有很多帖子中介绍2.X的版本中默认是存在一个admin表,而且创建一个用户只需要先通过db.addUser()添加,然后通过db.auth()来赋予权限便可。
  但是。。由于我用的是Mongodb 3.X的版本,所以按照2.X的帖子跟着实现起来是行不通的,我发现使用show dbs的时候系统里是没有admin表的存在,那怎么办呢?原来3.X的版本中默认是不显示admin的,我们可以手动的通过use admin切换到admin中,然后通过db.createUser()这个方法来创建用户。终于知道如何创建用户了。可是问题又来了。我刚开始以为Mongdb会跟Sql Server这种关系型数据库一样会创建一个统一的sa用户,可实际证明我的想法错了,Mongodb的用户是跟collection关联的。而且要给collection设置用户又必须要通过admin的超级用户来授权。反正这一连串的授权关系折腾了我半天。好了废话不多说。还是直接贴代码步骤直接。

第一步:先给admin库创建一个叫做testUser的系统管理员,其它库的用户都需要靠这个管理员去创建   
01
> show dbs
02
admin  0.000GB
03
local  0.000GB
04
test   0.000GB
05
> use admin
06
switched to db admin
07
> db.createUser({ user:'testUser',pwd:'test123',roles:[{ role:'userAdminAnyDatabase',db:'admin' }] })
08
Successfully added user: {
09
    "user" : "testUser",
10
    "roles" : [
11
        {
12
            "role" : "userAdminAnyDatabase",
13
            "db" : "admin"
14
        }
15
    ]
16
}
17
> db.auth('testUser','test123')
第二步:找到你想要创建用户的库,然后创建一个myTestUser的用户
01
> use test
02
switched to db test
03
> db.createUser({ user:'myTestUser',pwd:'123456',roles:[{ role:'readWrite',db:'test' }]  })
04
Successfully added user: {
05
    "user" : "myTestUser",
06
    "roles" : [
07
        {
08
            "role" : "readWrite",
09
            "db" : "test"
10
        }
11
    ]
12
}
13
> db.auth('myTestUser','123456')
14
1
第三步:那么我们这个用户跟角色就创建完毕了。接下来我们需要关闭Mongodb服务.
1
>db.shutdownServer()
第四步:重启启动我们的Mongodb
1
./mongod --dbpath=../data --port=12121 --auth
第五步:重启完后我们再连接Mongodb就会提示需要用户名跟密码了
1
./mongo localhost:12121/test -u myTestUser -p 123456
这样就登陆进去了,这个用户登陆进去后只有读写权限,大家回过头再上去看看创建代码,里面的role是readWrite,这个就是给与的权限。

role的权限列表
1. 数据库用户角色:read、readWrite;
2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4. 备份恢复角色:backup、restore;
5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6. 超级用户角色:root
// 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
7. 内部角色:__system

转载请注明出自:http://www.mrco.cn/article/5735b04fc49f11e762327991.html
分享到:
评论

相关推荐

    Mongo DB 可视化工具 robo3t-1.4.3

    Mongo DB 是一个流行的开源、基于文档的分布式数据库系统,它以JSON格式存储数据,适合处理大量半结构化和非结构化数据。可视化工具是管理和操作Mongo DB的重要辅助手段,能够帮助用户更直观地查看和操作数据库。...

    Mongo DB 客户端 破解版

    Mongo DB 客户端 破解版,保证可以使用。

    Mongo DB 3.2.5官方帮助文档

    Mongo DB 3.2.5官方帮助文档

    resfult for mongo db

    "resfult for mongo db"可能是指与MongoDB相关的查询结果或特定功能的讨论。 MongoDB的核心特点包括: 1. **文档数据库**:MongoDB以BSON(Binary JSON)文档存储数据,这种格式允许快速存储和检索复杂结构的数据...

    Mongo DB Training Material

    Mongo DB 基础培训资料,比较详细,是我同事整理总结的

    Mongo DB数据库命令集合.rar

    这份"Mongo DB数据库命令集合.rar"压缩包文件包含了MongoDB数据库日常操作的基础命令,对于初学者来说是一份非常实用的学习资料。接下来,我们将详细讨论MongoDB的一些核心概念和常用命令。 首先,了解MongoDB的...

    mongo db 0801

    - 通过 `use <db>` 命令可以选择使用某个数据库。 #### 四、MongoDB 的安装与工具 MongoDB 的安装相对简单,可以从官网下载适合不同操作系统版本的安装包。安装完成后,可以通过命令行工具 `mongosh` 连接到 ...

    java操作 mongo DB 数据库例子

    这篇博客"java操作mongo DB数据库例子"提供了使用Java与MongoDB交互的示例代码,对于学习如何在Java应用中集成MongoDB非常有帮助。MongoDB的主要优势包括灵活的数据模型、高性能以及易于扩展性。 首先,我们需要...

    mongo db demo

    在本"mongo db demo"中,我们将深入探讨MongoDB的基本概念、安装与配置、数据模型、查询操作以及一些高级特性。 一、MongoDB基本概念 1. 文档数据库:MongoDB基于文档存储,其数据模型是JSON格式的BSON(Binary ...

    Mongo DB 安装,Windows下 Mongo DB 服务安装

    mongod --dbpath "C:\data\db" --logpath "C:\MongoDB\logs\mongod.log" --serviceName MongoDB --serviceDisplayName "MongoDB" --install ``` 这些参数含义如下: - `--dbpath` 指定数据文件的存储位置。 - `...

    MONGO DB 安装包3

    MongoDB的实用性着实令人着迷。MongoDB并不去迎合所有人的全部需求。它在功能和复杂性之间取得很好的平衡,并且将原先十分复杂的任务大大简化。也就是说,它具备支撑今天主流web应用的关键功能:索引,复制,分片,...

    node-mongodb-native, Mongo DB原生NodeJS驱动程序.zip

    node-mongodb-native, Mongo DB原生NodeJS驱动程序 描述官方的 MongoDB驱动程序。 在核心插件之上提供一个高级 API,这意味着最终用户。的MongoDB node.js-驱动程序什么地方文档http://mongodb.github.io

    mongo DB客户端破解版

    mongoDB客户端破解版使用方法: 解压后安装Installer-1.6.9下的Installer,然后把MongoVUE破解版目录下的MongoVUE拷贝到刚刚你安装的目录下,替换即可。

    MONGO DB 安装包1

    MongoDB的实用性着实令人着迷。MongoDB并不去迎合所有人的全部需求。它在功能和复杂性之间取得很好的平衡,并且将原先十分复杂的任务大大简化。也就是说,它具备支撑今天主流web应用的关键功能:索引,复制,分片,...

    MONGO DB 安装包2

    MongoDB的实用性着实令人着迷。MongoDB并不去迎合所有人的全部需求。它在功能和复杂性之间取得很好的平衡,并且将原先十分复杂的任务大大简化。也就是说,它具备支撑今天主流web应用的关键功能:索引,复制,分片,...

    mongo-sample:用于教育目的的Mongo DB示例代码

    Mongo DB示例代码 这是简单的Rest API中的一些样例Mongo DB代码,该代码具有基本的CRUD终结点,以供参考。 安装 要运行此示例代码,请安装npm软件包并运行server.js文件。 npm install node server Mongo DB入门 ...

    Mongo DB 权威指南(中文版)

    - **mongo**:shell命令行工具,用于执行SQL语句或JavaScript脚本来操作数据库。 - **mongos**:路由进程,用于连接多个shard并提供统一接口给客户端。 - **config server**:配置服务器,保存集群配置信息。 - ...

    mongo4ben:适用于Benerator的Mongo DB插件-开源

    Mongo4Ben是一个专门为Benerator设计的Mongo DB插件,它为开发者提供了一个便捷的途径,在Benerator项目中集成和操作Mongo DB数据库。这个插件的出现使得开发人员能够在Mongo数据库实例中进行数据的存储、更新和查询...

    php-embedded-mongo:启动嵌入式Mongo DB服务器并轻松运行PHPUnit集成测试

    启动嵌入式Mongo DB服务器并轻松运行PHPUnit集成测试。 使用Mongo DB和PHP编写集成测试应该很容易(这是Java语言),该库使您可以在运行测试之前快速启动嵌入式Mongo DB服务器。 安装 该库会启动一个真正的Mongo DB...

    Mongo DB增删改查命令

    switched to db myblog 1.3 列出所有集合 > show collections articles replicationColletion sessions users wangduanduan 2 插入数据 insert(value) // 在已经存在的集合中插入数据 > db.users.insert({name:'...

Global site tag (gtag.js) - Google Analytics