mongodb权限管理

摘要:
谈到mongodb,我们需要首先讨论mongodb用户组。与传统的关系数据库不同,mongodb在创建应用程序时不需要创建权限管理组。因此,像Robomongo这样的数据库可视化工具可以在创建连接时通过输入相应的地址来直接访问和操作,这非常方便,如下图所示。在讨论用户组之前,我们先简单谈谈如何安装。

   说到mongodb就得先谈谈mongodb的用户组,和传统的关系型数据库不一样,mongodb并没有在创建应用时就要求创建权限管理组,所以类似于Robomongo这样的数据库可视化工具在创建connect时直接输入相应的address就可以直接访问和操作了,非常的方便,如下图。

mongodb权限管理第1张

  

  在谈用户组之前先简单的说说如何安装吧。

  1.新建 /apps 目录 mkdir /apps

  2.下载 mongodb-linux-x86_64-(版本号).tgz 至/apps文件目录下

  3.解压缩文件  tar xzf mongodb-linux-x86_64-(版本号).tgz 

  4.将解压后的文件重命名为mongodb mv mongodb-linux-x86_64-(版本号) mongodb

  5.创建目录与文件 :

mkdir -p  mongodb/data/db  创建mongodb 数据库保存路径

mkdir -p  mongodb/logs   创建mongodb日志文件目录

touch  mongodb/logs/mongodb.logs   创建日志的路径

  6.启动mongodb:

/apps/mongodb/bin/mongod --dbpath=/apps/mongodb/data/db --logpath=/apps/mongodb/logs/mongodb.logs --fork

注:这里解释下通过mongod启动mongodb -dbpath=数据库路径 --logpath=日志路径 同时--fork很有必要 -fork 以后台Daemon形式运行服务(在后台运行)

  7.把mongodb服务加入随机启动:(相当于开机自动执行程序)  //这种方式是默认执行 之后会提到权限执行

(1).打开 vim /etc/rc.local
(2).添加如下代码
/apps/mongodb/bin/mongod --dbpath=/apps/mongodb/data/db/ --logpath=/apps/mongodb/logs/mongodb.log --logappend --port=27107  --fork
注:--logappend  指定日志生成方式(追加/覆盖),true 为日志为追加,默认为true, --port=27107 指定mongodb端口为 27107

  8.启动成功后 ps -ef | grep mongo 查看进程

mongodb权限管理第2张

  Mongodb启动成功后用命令行运行一下  进入/apps/mongodb/bin  执行 ./mongo

 mongodb权限管理第3张

  进入mongoshell 默认进入test的数据库

简单命令
show dbs                 查询所有mongodb数据库
use                       数据库名 进入数据库(如果没有该数据库会自动创建)
db                         查看当前使用数据库
show collections             查看数据集合(collection 相当与mysql中的table)  
      

  mongodb 初始时有一个test和local数据库

  此时 我们可以任意的新建数据库,建立集合,没有限制 Robomongo可视化数据库也可以连接

  Robomongo连接如下图,有种navicat for mysql的既视感

mongodb权限管理第4张

下面进行权限操作

  1. use admin

  2.db.addUser('smallbo','123456')  默认smallbo 为超级用户

mongodb权限管理第5张

  3.建立好了超级用户后用Robomongo 还是不用输入账号和密码就可以连接mongodb 以及所有权限

  4.所以接下  ctrl+c  退出mongo shell

  5. killall mongod 杀死mongod进程

 6.权限运行mongo

/apps/mongodb/bin/mongod --dbpath=/apps/mongodb/data/db --auth --logpath=/apps/mongodb/logs/mongodb.logs --fork

mongodb权限管理第6张

7. 在bin目录下运行 mongoshell ./mongo。 此时 show dbs、 show collections  都没有权限了

mongodb权限管理第7张

再看Robomongo这边直接登录会显示

mongodb权限管理第8张

  在mongoshell

use admin

db.auth('用户名','密码')   //相当于管理员登录 返回1 执行成功  便可进行任意操作

mongodb权限管理第9张

  Robomongo下

mongodb权限管理第10张

选择 MONGODB-CR 登录成功

mongodb权限管理第11张

 最后 vim /etc/rc.local 改为

/apps/mongodb/bin/mongod --dbpath=/apps/mongodb/data/db/ --auth --logpath=/apps/mongodb/logs/mongodb.log --logappend --port=27107  --fork

大功告成!!!!!!!

免责声明:文章转载自《mongodb权限管理》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇怎样制作RSS源CentOS 分区方案下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

几款免费的不用数据库的php的cms

免费不用数据库的php的cms 下面的几种内容采集系统都是英文版的,全部不需使用数据库,都是国外的免费并且开源CMS。对中文支持如何,你自己试试吧! 1、MuCMS一个小型,平台独立的内容管理系统适用于非交互式网站(网站只发布信息)。它对系统要求非常低,只需要Apache+PHP。没有使用数据库。它具有安全,快速,易用等特点。官方网站http://mucm...

UniGUI的SQLite数据库(04)

1]放FDConnection1和FDQuery1到界面上 一定要 放一个 FDPhysSQLiteDriverLink1到ServerModule上 2]在OnFormCreate事件里写 FDQuery1.Connection := FDConnection1;FDConnection1.LoginPrompt:=false; //取消登录提示框...

mongodb $where 查询中的坑

mongodb 查询中坑就是数字开头的字段不能用点号,只能用[""]。例如: 即:db.datas.find({$where:"this['54bcfc6c329af61034f7c2fc'].testRet !== this['54bcfc6c329af61034f7c2fc'].taskRet"}) 但是 如果你用 即:db.datas.find({...

MAMP、wordpress安装

MAMP、Wordpress 一、MAMP   1、简介 1.1、MAMP:本地服务器环境的OS X软件(windows用的是WAMP,原理差不多) 1.2、Apache、MySQL、PHP、Postfix等服务器软件,如果安装了MAMP,等同于全部安装了 1.3、可以集中管理和调整运行环境:PHP多版本的切换、imagemagick图形处理工具、动态...

oracle 11g 安装与卸载

安装 点击是,这是位数不一致,但可用。 桌面类――这种安装方式一般适用于台式机和笔记本。它包含一个最小数据库和最低的配置需求。 服务器类――这种安装方式适用于服务器,例如,它会向您提供数据中心和用于支持企业级的应用程序。如果您需要使用高级配置选项,请选择此安装类型。 在桌面类中,只有基本选择项。 在服务器类,可以选择标准安装(仅让您作有基本选择)或...

多租户数据隔离的三种方案

另附一片论文,关于SaaS和多租户下的数据存储与扩容:http://www.360doc.com/document/12/0823/16/10636892_231933452.shtml 一、多租户在数据存储上存在三种主要的方案,分别是:1. 独立数据库这是第一种方案,即一个租户一个数据库,这种方案的用户数据隔离级别最高,安全性最好,但成本较高。  优点:...