db.system.users.find()
{ “_id” : ObjectId(“5032e8386a7fc39e31978c50″), “user” : “admin”, “readOnly” : false, “pwd” : “95ec4261124ba5951720b199908d892b” }
db.runCommand({fsync:1,lock:1})
該操作已經(jīng)對數(shù)據(jù)庫上鎖,不允許執(zhí)行寫數(shù)據(jù)操作,一般在執(zhí)行數(shù)據(jù)庫備份時有用。執(zhí)行命令,結(jié)果示例如下:
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
}
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ù)操作
use admin
>db.fsyncUnlock()
{ “ok” : 1, “info” : “unlock completed” }
db.$cmd.sys.unlock.findOne() 效果等同
> db.currentOp()
{ “inprog” : [ ] }