On this page
fsyncUnlock
在本页面
Definition
Important
fsync lock
和fsyncUnlock操作保持锁定计数。每个fsync lock
操作都会增加锁定计数,而fsyncUnlock会减少锁定计数。
要解锁mongod实例以进行写入,锁定计数必须为零。也就是说,对于给定数量的fsync lock
操作,您必须发出相应数量的fsyncUnlock操作以解锁实例以进行写入。
fsyncUnlock是一项 Management 操作。通常,您将在数据库backup operation之后使用fsyncUnlock。
要运行fsyncUnlock命令,请使用db.adminCommand()方法:
db.adminCommand( { fsyncUnlock: 1 } )
该操作返回包含以下字段的文档:
info |
有关操作状态的信息 |
lockCount (* 3.4 版中的新功能*) |
操作后实例上剩余的锁数。 |
ok |
状态码。 |
Tip
mongo shell 提供了辅助方法db.fsyncUnlock()。
Examples
考虑一种情况,其中db.fsyncLock()已发出两次。以下fsyncUnlock操作将db.fsyncLock()所获得的锁减少了 1:
db.adminCommand( { fsyncUnlock: 1 } )
该操作返回以下文档:
{ "info" : "fsyncUnlock completed", "lockCount" : NumberLong(1), "ok" : 1 }
由于lockCount
大于 0,因此mongod实例被锁定以防止写入。要解锁实例以进行写入,请再次运行解锁操作:
db.adminCommand( { fsyncUnlock: 1 } )
该操作返回以下文档:
{ "info" : "fsyncUnlock completed", "lockCount" : NumberLong(0), "ok" : 1 }
mongod实例已解锁以进行写入。