古いロックファイル:\ data \ db \ mongod.lock、おそらくクリーンでないシャットダウンを意味します
mongoDBサーバーを開始すると、以下のエラーがヒットし、mongoDBサーバーは起動できません。
************** old lock file: \data\db\mongod.lock. probably means unclean shutdown recommend removing file and running --repair see: http://dochub.mongodb.org/core/repair for more information ************* Mon May 09 12:37:43 [initandlisten] exception in initAndListen std::exception: old lock file, terminating Mon May 09 12:37:43 dbexit: Mon May 09 12:37:43 [initandlisten] shutdown: going to close listening sockets... Mon May 09 12:37:43 [initandlisten] shutdown: going to flush diaglog... Mon May 09 12:37:43 [initandlisten] shutdown: going to close sockets... Mon May 09 12:37:43 [initandlisten] shutdown: waiting for fs preallocator... Mon May 09 12:37:43 [initandlisten] shutdown: closing all files... Mon May 09 12:37:43 closeAllFiles() finished Mon May 09 12:37:43 dbexit: really exiting now
溶液
これは、mongoDBマシンがクラッシュした場合、またはkill -9
コマンドが発行された場合の一般的なエラーメッセージです。 つまり、mongoDBがクラッシュしたため、修復する必要があります。 修正するには:
1. data-directory\mongod.lock
ファイルを見つけて、削除します。
2. mongod --repair
コマンドを発行します。
mongod --repair Mon May 09 12:42:57 [initandlisten] db version v1.8.1, pdfile version 4.5 //...... Mon May 09 12:42:57 [initandlisten] shutdown: going to close listening sockets... Mon May 09 12:42:57 [initandlisten] shutdown: going to flush diaglog... Mon May 09 12:42:57 [initandlisten] shutdown: going to close sockets... Mon May 09 12:42:57 [initandlisten] shutdown: waiting for fs preallocator... Mon May 09 12:42:57 [initandlisten] shutdown: closing all files... Mon May 09 12:42:57 closeAllFiles() finished Mon May 09 12:42:57 [initandlisten] shutdown: removing fs lock... Mon May 09 12:42:57 dbexit: really exiting now
Note
mongodb修復の仕組みの詳細については、このMongoDB Durability and Repair guideを参照してください。