直接关闭mongodb,会导致db被锁住,导致下次mongodb无法重新启动
以下是转载的解决方案,原文见: mongodb意外退出无法启动解决办法(Unclean shutdown detected.)
查看log文件,发现了如下error log
- **************
- Unclean shutdown detected.
- Please visit http://dochub.mongodb.org/core/repair for recovery instructions.
- *************
- Sat Feb 2 15:54:50 [initandlisten] exception in initAndListen: 12596 old lock file, terminating
**************
Unclean shutdown detected.
Please visit http://dochub.mongodb.org/core/repair for recovery instructions.
*************
Sat Feb 2 15:54:50 [initandlisten] exception in initAndListen: 12596 old lock file, terminating
也就是意外推出时数据被锁定了,登陆mongo给的推荐链接找到了解决办法:
1.删除锁文件,这个锁文件位于你存储data数据的目录
- rm /data/db/mongod.lock
rm /data/db/mongod.lock
2.修复数据文件
- mongod --dbpath /data/db --repair
mongod --dbpath /data/db --repair
3.重启mongo
- mongod --dbpath /data/db
mongod --dbpath /data/db
好了,启动成功。
mongo不适合用暴力的方式去kill,正确的关闭方式为:
1、kill -2 PID或者kill PID
2、在admin数据库下运行命令db.shutdownServer();