mongodb:如何备份mongodb

Bin*_*hen 6 mongodb

我想有人已经建议:

1. stop the mongod
2. backup the data directory
Run Code Online (Sandbox Code Playgroud)

它是否可靠,我的意思是,确保100%成功恢复?而且我找不到哪个目录存储数据...任何命令都可以帮我找到它?

Ser*_*sev 6

如果mongod进程干净地退出(即没有崩溃或kill -9东西),那么在某处复制数据文件是安全的.

如果当前安装中断(例如,由于不干净关闭导致数据损坏),您可以删除其文件,复制该备份并重新启动mongod.

默认数据目录是/data/db,但可以在配置文件中设置为另一个值.例如,我将其设置为/var/lib/mongodb.

您还可以使用mongodump从实时服务器进行备份(这可能会影响性能).使用mongorestore恢复由所做的备份mongodump.


lob*_*234 5

在IGN,我们通过mongodump作为每小时的cron作业运行来进行热备份,并且每半小时进行一次文件管理器快照(NetApp存储).如果您的系统写得太重并且您可以负担得起写入块,请尝试使用fsynclock刷新写入磁盘并防止进一步写入.这可以mongodump在完成之后完成,您可以解锁数据库.请注意,您必须是管理员才能这样做.

db.runCommand({fsync:1,lock:1})
Run Code Online (Sandbox Code Playgroud)