mongodump会锁定数据库吗?

时间:2013-02-12 04:48:05

标签: mongodb

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

2 个答案:

答案 0 :(得分:14)

我在mongo's google group上找到了这个:

  

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

     

如果您有副本集,则可能需要使用--oplog   标记进行备份。

有关详细信息,请参阅文档

此外,我发现了此前提出的问题

摘自上述问题

  

只有在没有沉重的情况下,才能锁定和复制文件   写负载。

     

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

     

当你的DB太大而没有   单机可以装。请参阅this document

     

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

答案 1 :(得分:11)

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

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