【发布时间】:2025-12-30 16:55:12
【问题描述】:
我想有人已经建议了:
1. stop the mongod
2. backup the data directory
是否可靠,我的意思是,确保 100% 成功恢复? 而且我找不到存储数据的目录……有什么命令可以帮我找到吗?
【问题讨论】:
标签: mongodb
我想有人已经建议了:
1. stop the mongod
2. backup the data directory
是否可靠,我的意思是,确保 100% 成功恢复? 而且我找不到存储数据的目录……有什么命令可以帮我找到吗?
【问题讨论】:
标签: mongodb
如果mongod 进程干净退出(即没有崩溃或kill -9 的东西),那么将数据文件复制到某处是安全的。
如果您当前的安装中断(例如,由于非正常关机导致数据损坏),您可以删除其文件,复制该备份并再次启动 mongod。
默认数据目录是/data/db,但它可以在您的配置文件中设置为另一个值。例如,我将其设置为/var/lib/mongodb。
您还可以使用mongodump 从实时服务器进行备份(这可能会影响性能)。使用mongorestore 恢复mongodump 所做的备份。
【讨论】:
在 IGN,我们通过 mongodump 以每小时一次的 cron 作业运行进行热备份,并每半小时拍摄一次文件管理器快照(NetApp 存储)。如果您的系统写入量不是太大并且您可以承受写入块,请尝试使用fsync 和lock 将写入刷新到磁盘并防止进一步写入。这可以跟mongodump,完成后您可以解锁数据库。请注意,您必须是管理员才能这样做。
db.runCommand({fsync:1,lock:1})
【讨论】: