“文档” 菜单
文档首页
/
MongoDB Manual
/ / /

db.fsyncUnlock()

在此页面上

  • 定义
  • 与 WiredTiger 的兼容性
  • 例子
db.fsyncUnlock()

减少服务器上用于重新启用写入操作的锁计数。

从 MongoDB 7开始。 0 。 2 (也可以从6 . 0 . 11和5 . 0 . 22开始), db.fsyncLock()db.fsyncUnlock()方法可以在mongos锁定和解锁分片集群。

重要

mongosh 方法

本页面提供 mongosh 方法的相关信息。这不是数据库命令或特定语言驱动程序(例如 Node.js)的相关文档。

有关数据库命令,请参阅 fsyncUnlock 命令。

如需了解 MongoDB API 驱动程序,请参阅特定语言的 MongoDB 驱动程序文档。

对于传统 mongo Shell 文档,请参阅相应 MongoDB Server 版本的文档:

mongo shell v4.4

服务器维护 fsync 锁计数。 fsyncLock()方法会递增锁计数,而fsyncUnlock()方法会递减锁计数。要解锁服务器或集群上的写入,请调用fsyncUnlock()方法,直到锁计数达到零。

db.fsyncUnlock()是一项管理操作。使用此方法在备份操作后解锁服务器或集群

db.fsyncUnlock() 语法为:

db.fsyncUnlock()

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

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

db.fsyncUnlock() 方法封装了 fsyncUnlock 命令。

db.fsyncLock() 确保数据文件可以安全地使用 cpscptar 等低级备份实用工具进行复制。开始使用复制文件的 mongod 包含用户写入的数据,这些数据与锁定的 mongod 上的用户写入的数据无法区分。

锁定 mongod 的数据文件可能会因日志同步WiredTiger 快照等操作而发生变化。虽然这对逻辑数据(例如客户端访问的数据)没有影响,但某些备份实用程序可能会检测到这些变化并发出警告,或者失败并显示错误。有关 MongoDB 推荐备份实用程序和过程的更多信息,请参阅 MongoDB 备份方法

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

db.fsyncUnlock()

该操作将返回以下文档:

{ "info" : "fsyncUnlock completed", "lockCount" : NumberLong(1), "ok" : 1 }

由于lockCount大于 0,因此mongod实例被锁定以防止写入。 要解锁实例以进行写入,请再次运行db.fsyncLock()

db.fsyncUnlock()

该操作将返回以下文档:

{ "info" : "fsyncUnlock completed", "lockCount" : NumberLong(0), "ok" : 1 }

mongod实例已解锁,无法写入。

← db.fsyncLock()