MongoDB故障恢复:解救你的数据
MongoDB是一个基于散布式文件存储的数据库,可以存储大量文档格式的数据,这使得它成为许多公司和用户组织的首选数据库,但是有时候MongoDB可能会产生故障,这使搭建的系统和服务遭到严重的影响。本文主要介绍了MongoDB故障恢复,如何解救你的数据。
MongoDB可能会遭到各种异常状态的攻击,比如硬件故障,破坏的磁盘等等。如果情况非常严重,乃至需要手动进行数据库修复。最好的办法是从备份文件恢复数据,但如果没有,可使用`mongod`命令,它可以扫描数据库并根据其检测到的信息进行自动修复,如以下代码所示:
mongod --repair --dbpath "/data/db/(YourDatabaseNameHere)"
由于MongoDB的硬朗性和可用性,你可以在运行数据库修复的同时继续访问数据库,但是我们建议你在修复时调剂`writeConcern`的参数,如以下代码所示:
db.getMongo().setWriteConcern(2);
另外,如果你的MongoDB出现崩溃并且不能正确启动,你可以尝试修复MongoDB的集合,比如修复失败的`compressed`文件,在query中找到适合的数据,如以下代码所示:
db.runCommand({ repairDatabase: 1, backupOriginalFiles: 1 });
有时候你还可能需要进行手动数据库修复,比如修复丢失的索引或恢复没法正确载入的文档。这需要在`bson`文件中做一些诊断工作,但是数据库可以从中恢复。另外,如果你想使用脚本自动恢复失败的文档,你可以斟酌MongoDB的`shell`脚本,这对需要自动履行修复程序的场景很有用。
MongoDB故障恢复是一个十分复杂的操作,没有完善的策略可以有效的恢复数据。为了解决这个问题,开发者建议在一定周期内制定备份计划,并保存备份文件,如果出现故障,用备份文件恢复数据,极大提高了MongoDB的可用性和稳定性。
本文来源:https://www.yuntue.com/post/182380.html | 云服务器网,转载请注明出处!

微信扫一扫打赏
支付宝扫一扫打赏