mongodb 安装

文件下载,解压

curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz
tar -zxvf mongodb-linux-x86_64-3.0.6.tgz   

创建data目录和logs 目录

mkdir data
mkdir logs

创建 mongo.cnf 配置文件: vim mongo.cnf

#数据库
dbpath = /usr/local/mongodb/data
#日志文件存放目录   
logpath = /usr/local/mongodb/logs/mongodb.log
#端口   
port = 27017
#以守护线程的方式启用,即在后台运行   
fork = true
#日志输出方式,使用追加的方式写日志   
logappend = true
#PID File 的完整路径,如果没有设置,则没有PID文件   
pidfilepath = /usr/local/mongodb/mongo.pid
#关闭http接口,默认关闭27018端口访问   
#nohttpinterface = true
#声明这是一个集群的分片,默认端口是27018
#shardsvr = true
#设置每个数据库将被保存在一个单独的目录   
#directoryperdb = true
#开启认证   
#auth = true
#设开启简单的rest API,置后打开28017网页端口   
#rest = true
#允许远程访问
bind_ip = 0.0.0.0

启动mongosb 命令

./mongod --config /usr/local/mongodb/mongdb.conf

显示所有库

show dbs

查看当前库

db

创建数据库

use test

创建用户和角色

# 先给 admin 库创建用户防止改变配置文件admin库不可用 root 是超级管理员
db.createUser({user:"admin",pwd:"admin",roles:[{role:"root",db:"admin"}]})
# 再回来给指定库创建用户
db.createUser({user:"test",pwd:"test",roles:[{role:"root",db:"test"}]})

内置角色:

  • 数据库用户角色:read、readWrite;
    Read:允许用户读取指定数据库
    readWrite:允许用户读写指定数据库

  • 数据库管理角色:dbAdmin、dbOwner、userAdmin;
    dbOwner: 该数据库的所有者,具有该数据库的全部权限。
    dbAdmin:一些数据库对象的管理操作,但是没有数据库的读写权限
    userAdmin:为当前用户创建、修改用户和角色。拥有userAdmin权限的用户可以将该数据库的任意权限赋予任意的用户。

  • 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
    clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。

  • 备份恢复角色:backup、restore;

  • 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
    readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
    readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
    userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
    dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。

  • 超级用户角色:root
    root:只在admin数据库中可用。超级账号,超级权限
    这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)

  • 内部角色:__system

删除创建的用户

db.dropUser('testuse')

角色创建成功之后需要先关掉mongodb

use admin 
db.shutdownServer()

打开配置文件,开启认证,重启mongo
测试:

show collections
not authorized on test to execite command { listCollections:1.0 }

如上报错就成功,意思是要验证。
账号密码登录

db.auth('root','suozhao123')

你可能感兴趣的:(mongodb 安装)