MongDB的安装和基本操作 一(权限设置)

安装MongoDB

Mac: 最懒人的方法就是命令行: brew install mongodb 关于什么是brew和怎么安装可以在网上查,安装完成默认路径如下:

MongDB的安装和基本操作 一(权限设置)

cd/bin后就能看见mongodb常用命令:
mongod 打开数据库服务器
mongo 进入mongodb shell
本地默端口是27017

执行mongod时可能会有一些错误,常见的提示“…/data/db…”,这是数据存储文件目录,brew安装mongodb时会默认安装在根目录下,出现错误原因大多是因为当前用户没有其读写权限,此时直接:

sudo chown -R  用户名 /data/db

当然,这个存储目录是可以更改的 ,有一种mac,win通用的方式:

mongod -port XXXX -dbpath <随意的路径>/data/db

在mongod启动服务器的时候指定端口和实例安装路径。

win
win环境安装mongoldb更简单,从官网下载zip包,解压到自己任意位置创建的mongodb文件夹下,在文件夹下建/data/db目录,命令行:

cd  <路径>/mongodb/bin 
./mongod -dbpath <路径>/mongodb/data/db

基本操作

首先命令行输入mongo进入shell

MongDB的安装和基本操作 一(权限设置)
此时默认链接的test数据库

show dbs – 显示当前数据库
MongDB的安装和基本操作 一(权限设置)

show users – 显示当前数据库的用户
MongDB的安装和基本操作 一(权限设置)

返回一个标准的js对象,其实这也是mongodb数据的存储方式,这样一个对象称之为“文档”,类似于传统数据库的一条记录。其中可以看见用户的一些属性,从字面就能猜出含义。

use admin  //如果admin数据库不存在则创建,存在则切换

权限设置

刚安装好的mongodb是没有权限设置的,可任意添加删除用户和数据库,显然不适于生产。一般情况下,需要创建两个用户,一个用户管理员,可在admin和其他数据库中创建用户,一个数据库超级管理员,拥有增删改查任意数据库、复制、集群操作的权限。

//用户管理员
use admin    //回车
db.createUser({user:"userAdmin",pwd:"123",roles:["userAdminAnyDatabse"]})  //回车
//数据库超级管理员
use admin  //回车
db.createUser({user:"dbAdmin",pwd:"123",roles:["readWriteAnyDatabase","dbAdminAnyDatabase","clusterAdmin"]})
//回车

roles属性列出的就是该用户拥有的权限,包含以下几个:

read                                                    
readAnyDatabase
readWrite
readWriteAnyDatabase      //增删改查任意数据库的集合
dbAdmin
dbAdminAnyDatabase    //读写数据库
clusterAdmin   //允许对mongodb的一般管理,连接,复制,增删
userAdmin
userAdminAnyDatabase//用户管理

分别什么意思呢,哈哈,大部分大家应该都能猜出来

这样设置以后有什么用呢,大家可以试试先退出数据库

use admin   
db.shutdownServer()

再登入:

mongod -auth

然后进入任意数据库创建一个集合(collection:就是文档集合,类似于表)

use dbtest
db.createCollection("testcollection")

则会出现下面错误:
MongDB的安装和基本操作 一(权限设置)

提示没去权限,这就是因为当前不是数据库超级管理员,无法任意创建集合,此时需要切换到数据库管理员角色:

use admin 
db.auth("dbadmin","123")

会有提示:
MongDB的安装和基本操作 一(权限设置)
说明切换成功,此时再按之前步骤创建集合,则创建成功
MongDB的安装和基本操作 一(权限设置)

可见只要在登录时确定以权限方式登录(-auth),就能对数据库和用户的权限进行管理,上面说的是数据库管理,用户管理员功能于此类似。

上一篇:Post,同步实现登陆验证(2)


下一篇:实现类似美团的下拉分级式菜单