Docs 菜单

Docs 主页开发应用程序MongoDB Manual

fsyncUnlock

在此页面上

  • 定义
  • 语法
  • 举例
fsyncUnlock

减少服务器或集群上的锁计数。 要启用写入操作,锁计数必须为零。

从 MongoDB 5开始。 0 。 22 fsyncfsyncUnlock命令可以在mongos上运行,以锁定和解锁分片集群。

完成备份操作后,使用此命令取消阻止写入。

重要

服务器维护 fsync 锁计数。 lock字段设置为truefsync命令会递增锁计数,而 fsyncUnlock命令会递减锁计数。要在锁定的服务器或集群上启用写入,请调用fsyncUnlock命令,直到锁计数为零。

fsyncUnlock是一项管理操作。通常,您会在数据库fsyncUnlock 备份操作 后使用 。

提示

mongosh中,该命令也可以通过db.fsyncUnlock()辅助方法运行。

助手方法对于mongosh用户来说很方便,但它们返回的信息级别可能与数据库命令不同。如果不追求方便或需要额外的返回字段,请使用数据库命令。

要运行fsyncUnlock命令,请使用db.adminCommand()方法:

db.adminCommand(
{
fsyncUnlock: 1,
comment: <any>
}
)

comment字段是可选的,可以包含任何数据类型的注释。

该操作返回一个包含以下字段的文档:

字段
说明
info
有关操作状态的信息
lockCount3.4 版新增
操作后实例上剩余的锁数量。
ok
状态代码。

考虑已发出两次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实例已解锁,无法写入。

← fsync

在此页面上