MongoDBが起動しなくなった場合

16th Mar, 2010 | mongodb

なんだか、「MongoDB強制終了したら二度と起動しなくなった。もう使わない!」的なのを今日二ヶ所で見かけて、せつなくなったので今後ググられて目に止まることを願って書いておく。っていうか、ログぐらい見ようよ!

まず、正常に終了処理をしなかった場合、そのままでは、MongoDBは次回に起動しません。仕様です。ドキュメント的には、Durability and Repair (日本語) がそれにあたる。

このときログファイルを見ると、こんな感じになってるはず。

**************
old lock file: /var/db/mongodb/mongod.lock.  probably means unclean shutdown
reccomend removing file and running --repair
see: http://dochub.mongodb.org/core/repair for more information
*************

lockファイルはrepairコマンドが消してくれるので、自分で削除する必要ないので、--repairを実行しておけば大丈夫。

> mongod --dbpath=/var/db/mongodb --repair 

みたいな、感じで実行する。 dbpathはデータベースがある場所。これはFreeBSDのパッケージでの標準の場所なので各自の環境にあわせること。

このコマンドはデータを直した後、そのまま終了してしまうので、その後で通常の方法でmongodを起動し直せばok。


記事の内容についての質問、苦情、間違いの指摘等なんでもtwitterでどうぞ。