MongoDB启动失败问题解决
system :CentOS 5.5
View Log:
[root@localhost mongo]# tail -20 /usr/local/mongo/mongodb.log
Mon Sep 19 06:14:55 [initandlisten] MongoDB starting : pid=4126 port=27017 dbpath=/usr/local/mongo/data 64-bit
Mon Sep 19 06:14:55 [initandlisten] db version v1.8.1, pdfile version 4.5
Mon Sep 19 06:14:55 [initandlisten] git version: nogitversion
Mon Sep 19 06:14:55 [initandlisten] build sys info: Linux localhost.localdomain 2.6.18-238.19.1.el5 #1 SMP Fri Jul 15 07:31:24 EDT 2011 x86_64
BOOST_LIB_VERSION=1_33_1
**************
old lock file: /usr/local/mongo/data/mongod.lock. probably means unclean shutdown
recommend removing file and running --repair
see: http://dochub.mongodb.org/core/repair for more information
*************
Mon Sep 19 06:14:55 [initandlisten] exception in initAndListen std::exception: old lock file, terminating
Mon Sep 19 06:14:55 dbexit:
Mon Sep 19 06:14:55 [initandlisten] shutdown: going to close listening sockets...
Mon Sep 19 06:14:55 [initandlisten] shutdown: going to flush diaglog...
Mon Sep 19 06:14:55 [initandlisten] shutdown: going to close sockets...
Mon Sep 19 06:14:55 [initandlisten] shutdown: waiting for fs preallocator...
Mon Sep 19 06:14:55 [initandlisten] shutdown: closing all files...
Mon Sep 19 06:14:55 closeAllFiles() finished
Mon Sep 19 06:14:55 dbexit: really exiting now
Analysis:If a server running MongoDB crashed or MongoDB did not get to shut down cleanly for some other reason, you may not be able to start Mongo again, getting "exception in initAndListen std::exception: old lock file, terminating" error in Mongo error log.
Fix is actually pretty easy, you just need to locate mongod.lock file and remove it.
[root@localhost mongo]#rm -rf /usr/local/mongo/data/mongod.lock