一个生产型企业,本地化部署的系统,其中用到了mongodb。结果因为停电,等来电之后,系统无法正常运行。经过排查,发现是 mongodb 服务挂了。
太简单了。重启一下就可以了。
systemctl start mongodb
# 查看状态
systemctl status mongodb
运行完命令,当时查看状态成功,但是过一会又不可以了。再查看状态,还是服务启动失败。找到 mongodb 的日志,还是没有找到问题,主要是看不懂。
最后,猜测可能是停电导致 mongodb 的数据文件损坏了。试试吧。
解决方法:
第一步:
在mongodb数据目录下,例如:/mongodb/data/db 删除 mongodb.lock文件。
第二步:
进入到/mongodb/bin目录下,运行以下命令
mongod --dbpath /mongodb/data/db --repair
如果数据比较多,需要执行一段时间,耐心等待。执行完之后,重启 mongodb 服务即可。