文件下載伦仍,解壓
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
創(chuàng)建data目錄和logs 目錄
mkdir data
mkdir logs
創(chuàng)建 mongo.cnf 配置文件: vim mongo.cnf
#數(shù)據(jù)庫
dbpath = /usr/local/mongodb/data
#日志文件存放目錄
logpath = /usr/local/mongodb/logs/mongodb.log
#端口
port = 27017
#以守護(hù)線程的方式啟用斥黑,即在后臺運行
fork = true
#日志輸出方式,使用追加的方式寫日志
logappend = true
#PID File 的完整路徑屡立,如果沒有設(shè)置,則沒有PID文件
pidfilepath = /usr/local/mongodb/mongo.pid
#關(guān)閉http接口运授,默認(rèn)關(guān)閉27018端口訪問
#nohttpinterface = true
#聲明這是一個集群的分片咏尝,默認(rèn)端口是27018
#shardsvr = true
#設(shè)置每個數(shù)據(jù)庫將被保存在一個單獨的目錄
#directoryperdb = true
#開啟認(rèn)證
#auth = true
#設(shè)開啟簡單的rest API,置后打開28017網(wǎng)頁端口
#rest = true
#允許遠(yuǎn)程訪問
bind_ip = 0.0.0.0
啟動mongosb 命令
./mongod --config /usr/local/mongodb/mongdb.conf
顯示所有庫
show dbs
查看當(dāng)前庫
db
創(chuàng)建數(shù)據(jù)庫
use test
創(chuàng)建用戶和角色
# 先給 admin 庫創(chuàng)建用戶防止改變配置文件admin庫不可用 root 是超級管理員
db.createUser({user:"admin",pwd:"admin",roles:[{role:"root",db:"admin"}]})
# 再回來給指定庫創(chuàng)建用戶
db.createUser({user:"test",pwd:"test",roles:[{role:"root",db:"test"}]})
內(nèi)置角色:
數(shù)據(jù)庫用戶角色:read褂傀、readWrite;
Read:允許用戶讀取指定數(shù)據(jù)庫
readWrite:允許用戶讀寫指定數(shù)據(jù)庫數(shù)據(jù)庫管理角色:dbAdmin忍啤、dbOwner、userAdmin仙辟;
dbOwner: 該數(shù)據(jù)庫的所有者同波,具有該數(shù)據(jù)庫的全部權(quán)限。
dbAdmin:一些數(shù)據(jù)庫對象的管理操作叠国,但是沒有數(shù)據(jù)庫的讀寫權(quán)限
userAdmin:為當(dāng)前用戶創(chuàng)建未檩、修改用戶和角色。擁有userAdmin權(quán)限的用戶可以將該數(shù)據(jù)庫的任意權(quán)限賦予任意的用戶煎饼。集群管理角色:clusterAdmin讹挎、clusterManager校赤、clusterMonitor吆玖、hostManager;
clusterAdmin:只在admin數(shù)據(jù)庫中可用马篮,賦予用戶所有分片和復(fù)制集相關(guān)函數(shù)的管理權(quán)限沾乘。備份恢復(fù)角色:backup、restore浑测;
所有數(shù)據(jù)庫角色:readAnyDatabase翅阵、readWriteAnyDatabase、userAdminAnyDatabase迁央、dbAdminAnyDatabase
readAnyDatabase:只在admin數(shù)據(jù)庫中可用掷匠,賦予用戶所有數(shù)據(jù)庫的讀權(quán)限
readWriteAnyDatabase:只在admin數(shù)據(jù)庫中可用,賦予用戶所有數(shù)據(jù)庫的讀寫權(quán)限
userAdminAnyDatabase:只在admin數(shù)據(jù)庫中可用岖圈,賦予用戶所有數(shù)據(jù)庫的userAdmin權(quán)限
dbAdminAnyDatabase:只在admin數(shù)據(jù)庫中可用讹语,賦予用戶所有數(shù)據(jù)庫的dbAdmin權(quán)限。超級用戶角色:root
root:只在admin數(shù)據(jù)庫中可用蜂科。超級賬號顽决,超級權(quán)限
這里還有幾個角色間接或直接提供了系統(tǒng)超級用戶的訪問(dbOwner 短条、userAdmin、userAdminAnyDatabase)內(nèi)部角色:__system
刪除創(chuàng)建的用戶
db.dropUser('testuse')
角色創(chuàng)建成功之后需要先關(guān)掉mongodb
use admin
db.shutdownServer()
打開配置文件才菠,開啟認(rèn)證茸时,重啟mongo
測試:
show collections
not authorized on test to execite command { listCollections:1.0 }
如上報錯就成功,意思是要驗證赋访。
賬號密碼登錄
db.auth('root','suozhao123')