範文齋

6個安全設置mongodb數據庫的命令

1、以安全認證模式啓動

6個安全設置mongodb數據庫的命令

複製代碼 代碼如下:

bin/mongod??auth?-dbpath /Users/mc2/mongo/db -logpath /Users/mc2/mongo/ &

使用?auth選項啓動mongod進程即可啓用認證模式。

或者,也可以修改/etc/,設置auth=true,重啓mongod進程。

  2.添加用戶

複製代碼 代碼如下:

ser(“admin”, “123456″)

  3.安全認證

複製代碼 代碼如下:

(“admin”, “123456″)

認證成功的情況下

複製代碼 代碼如下:

()

{ “_id” : ObjectId(“5032e8386a7fc39e31978c50″), “user” : “admin”, “readOnly” : false, “pwd” : “95ec4261124ba5951720b199908d892b” }

否則返回空

  4.爲數據庫寫數據(同步到磁盤)加鎖

複製代碼 代碼如下:

ommand({fsync:1,lock:1})

說明:

該操作已經對數據庫上鎖,不允許執行寫數據操作,一般在執行數據庫備份時有用。執行命令,結果示例如下:

複製代碼 代碼如下:

ommand({fsync:1,lock:1})

{ “errmsg” : “access denied; use admin db”, “ok” : 0 }

use admin

> ommand({fsync:1,lock:1})

{“info” : “now locked against writes, use cUnlock() to unlock”,

“seeAlso” : ““,

“ok” : 1}

  5、查看當前鎖狀態

複製代碼 代碼如下:

entOp()

> entOp()

{“inprog” : [ ],

“fsyncLock” : 1,

“info” : “use cUnlock() to terminate the fsync write/snapshot lock”}

其中,fsyncLock爲1表示MongoDB的fsync進程(負責將寫入改變同步到磁盤)不允許其他進程執行寫數據操作

 6、解鎖

複製代碼 代碼如下:

use admin

>cUnlock()

{ “ok” : 1, “info” : “unlock completed” }

db.$One() 效果等同

> entOp()

{ “inprog” : [ ] }

說明當前沒有鎖,可以執行寫數據操作。