6個(gè)安全設(shè)置mongodb數(shù)據(jù)庫(kù)的命令
6個(gè)安全設(shè)置mongodb數(shù)據(jù)庫(kù)的命令
1、以安全認(rèn)證模式啟動(dòng)
復(fù)制代碼 代碼如下:
bin/mongod?–auth?-dbpath /Users/mc2/mongo/db -logpath /Users/mc2/mongo/log.log &
使用–auth選項(xiàng)啟動(dòng)mongod進(jìn)程即可啟用認(rèn)證模式。
或者,也可以修改/etc/mongodb.conf,設(shè)置auth=true,重啟mongod進(jìn)程。
2.添加用戶
復(fù)制代碼 代碼如下:
db.addUser(“admin”, “123456″)
3.安全認(rèn)證
復(fù)制代碼 代碼如下:
db.auth(“admin”, “123456″)
認(rèn)證成功的情況下
復(fù)制代碼 代碼如下:
db.system.users.find()
{ “_id” : ObjectId(“5032e8386a7fc39e31978c50″), “user” : “admin”, “readOnly” : false, “pwd” : “95ec4261124ba5951720b199908d892b” }
否則返回空
4.為數(shù)據(jù)庫(kù)寫數(shù)據(jù)(同步到磁盤)加鎖
復(fù)制代碼 代碼如下:
db.runCommand({fsync:1,lock:1})
說(shuō)明:
該操作已經(jīng)對(duì)數(shù)據(jù)庫(kù)上鎖,不允許執(zhí)行寫數(shù)據(jù)操作,一般在執(zhí)行數(shù)據(jù)庫(kù)備份時(shí)有用。執(zhí)行命令,結(jié)果示例如下:
復(fù)制代碼 代碼如下:
db.runCommand({fsync:1,lock:1})
{ “errmsg” : “access denied; use admin db”, “ok” : 0 }
use admin
> db.runCommand({fsync:1,lock:1})
{“info” : “now locked against writes, use db.fsyncUnlock() to unlock”,
“seeAlso” : “http://www.mongodb.org/display/DOCS/fsync+Command“,
“ok” : 1}
5、查看當(dāng)前鎖狀態(tài)
復(fù)制代碼 代碼如下:
db.currentOp()
> db.currentOp()
{“inprog” : [ ],
“fsyncLock” : 1,
“info” : “use db.fsyncUnlock() to terminate the fsync write/snapshot lock”}
其中,fsyncLock為1表示MongoDB的fsync進(jìn)程(負(fù)責(zé)將寫入改變同步到磁盤)不允許其他進(jìn)程執(zhí)行寫數(shù)據(jù)操作
6、解鎖
復(fù)制代碼 代碼如下:
use admin
>db.fsyncUnlock()
{ “ok” : 1, “info” : “unlock completed” }
db.$cmd.sys.unlock.findOne() 效果等同
> db.currentOp()
{ “inprog” : [ ] }
說(shuō)明當(dāng)前沒(méi)有鎖,可以執(zhí)行寫數(shù)據(jù)操作。
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 yyfangchan@163.com (舉報(bào)時(shí)請(qǐng)帶上具體的網(wǎng)址) 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除