Docs 菜单
Docs 主页
/
MongoDB Manual
/ / /

fsyncUnlock

在此页面上

  • 定义
  • 兼容性
  • 语法
  • 结果
  • 示例
fsyncUnlock

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

从MongoDB 7.0.2开始 (从6.0.11和5.0.22开始也可用) fsyncfsyncUnlock命令可以在mongos上运行以锁和解锁分片集群。

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

重要

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

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

提示

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

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

此命令可用于以下环境中托管的部署:

  • MongoDB Enterprise:基于订阅、自我管理的 MongoDB 版本

  • MongoDB Community:源代码可用、免费使用且可自行管理的 MongoDB 版本

该命令具有以下语法:

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

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

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

字段
说明

info

有关操作状态的信息

lockCount

操作后实例上剩余的锁数量。

ok

状态代码。

db.fsyncLock() 已发布两次的情况为例。以下fsyncUnlock操作可通过1减少 db.fsyncLock() 占用的锁定:

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