mongodump会锁定数据库吗?

Sin*_*imi 11 mongodb

我正在为mongo设置备份策略,只是想知道mongodump是否在执行数据库转储之前锁定了数据库?

slm*_*slm 15

我在mongo的谷歌小组上发现了这个:

Mongodump对实时系统进行简单查询,不需要关机.与所有查询一样,它在运行时需要读锁定,但不会阻止任何常规查询.

如果您有副本集,则可能需要使用--oplog标志来执行备份.

有关更多信息,请参阅文档

另外我发现了这个先前提出的问题

摘自上述问题

只有在没有大量写入负载时,才能锁定和复制文件.

mongodump可以对实时服务器运行.它会产生一些额外的负载,所以不要在高峰时段进行.此外,建议在辅助节点上执行此操作(如果您不使用副本集,则应该这样做).

如果您的DB太大而没有一台机器可以容纳它,那么会出现一些复杂情况.请参阅此文档.

此外,如果您有副本集,则会删除其中一个辅助副本并直接复制其文件.请参阅http://www.mongodb.org/display/DOCS/Backups:


Abh*_* PS 10

Mongdump不会锁定数据库.这意味着其他读写操作将继续正常进行.

实际上,mongodump和mongorestore都是非阻塞的.因此,如果你想mongodump mongorestore一个db,那么你有责任确保它真的是一个理想的快照备份/恢复.为此,您必须在使用mongodump/mongorestore获取/恢复备份时停止所有其他写入操作.如果您正在运行分片环境,那么建议您也停止平衡器.

  • 然而,现实情况是,无论运行什么样的数据库将变得如此缓慢,它是无法使用的 (4认同)