On this page本页内容
db.fsyncLock()
Forces the 强制mongod
to flush all pending write operations to disk and locks the entire mongod
instance to prevent additional writes until the user releases the lock with a corresponding db.fsyncUnlock()
command.mongod
将所有挂起的写入操作刷新到磁盘,并锁定整个mongod
实例以防止其他写入,直到用户使用相应的db.fsyncUnlock()
命令释放锁定。
The db.fsyncLock()
and db.fsyncUnlock()
operations maintain a lock count. db.fsyncLock()
和db.fsyncUnlock()
操作保持锁计数。db.fsyncLock()
increments the lock count, and 递增锁计数,并db.fsyncUnlock()
decrements the lock count.减少锁计数。
To unlock a 要解锁mongod
instance for writes, the lock count must be zero. mongod
实例进行写入,锁计数必须为零。That is, for a given number of 也就是说,对于给定数量的db.fsyncLock()
operations, you must issue a corresponding number of db.fsyncUnlock()
operations to unlock the instance for writes.db.fsyncLock()
操作,必须发出相应数量的db.fsyncUnlock()
命令才能解锁实例进行写入。
db.fsyncLock()
has the syntax:具有以下语法:
db.fsyncLock()
The operation returns a document with the following fields:该操作返回包含以下字段的文档:
info
- lockCount
(New in version 3.4)- seeAlso
- fsync
command documentation.fsync
命令文档的链接。ok
- This command provides a simple wrapper around a 此命令为fsync
database command with the following syntax:fsync
数据库命令提供了一个简单的包装,语法如下:
{ fsync: 1, lock: true }
db.fsyncLock()
is an administrative command. 是管理命令。You can use this operation to locks the database and create a window for backup operations.您可以使用此操作锁定数据库并创建备份操作窗口。
db.fsyncLock()
ensures that the data files are safe to copy using low-level backup utilities such as 确保使用低级备份实用程序(如cp
, scp
, or tar
. cp
、scp
或tar
)安全地复制数据文件。A 开始使用复制文件的mongod
started using the copied files contains user-written data that is indistinguishable from the user-written data on the locked mongod
.mongod
包含用户写入的数据,这些数据与锁定mongod
上的用户写入数据无法区分。
The data files of a locked 锁定mongod
may change due to operations such as journaling syncs or WiredTiger snapshots. mongod
的数据文件可能会因日志同步或WiredTiger快照等操作而更改。While this has no affect on the logical data (e.g. data accessed by clients), some backup utilities may detect these changes and emit warnings or fail with errors. 虽然这对逻辑数据(例如客户端访问的数据)没有影响,但一些备份实用程序可能会检测到这些更改并发出警告或错误失败。For more information on MongoDB- recommended backup utilities and procedures, see MongoDB Backup Methods.有关MongoDB推荐的备份实用程序和过程的更多信息,请参阅MongoDB备份方法。
The following operation runs 以下操作运行db.fsyncLock()
:db.fsyncLock()
:
db.fsyncLock()
The operation returns the following status document that includes the 该操作返回包含lockCount
:lockCount
的以下状态文档:
{ "info" : "now locked against writes, use db.fsyncUnlock() to unlock", "lockCount" : NumberLong(1), "seeAlso" : "http://dochub.mongodb.org/core/fsynccommand", "ok" : 1 }
If you run 如果再次运行db.fsyncLock()
again, the operation increments the lockCount
:db.fsyncLock()
,操作将增加lockCount
:
{ "info" : "now locked against writes, use db.fsyncUnlock() to unlock", "lockCount" : NumberLong(2), "seeAlso" : "http://dochub.mongodb.org/core/fsynccommand", "ok" : 1 }
To unlock the instance for writes, you must run 要解锁实例进行写入,必须运行db.fsyncUnlock()
twice to reduce the lockCount
to 0.db.fsyncUnlock()
两次以将lockCount
减少到0。