mongod --dbpath=/var/lib/mongodb --repair
これで修復したmongodbが起動しない時はパーミッションが変更されているせいかも。
DBの実ファイルのパーミッションがrepairを実行したユーザになります。
rootでrepairしちゃうと、DBのファイルがroot所有になってしまうということですね。
ログを確認したら"Permission denied" が出ていたのでパーミッションを修正しました。
chown -R mongodb:nogroup /var/lib/mongodb/
環境はUbuntu10.10、MongoDB1.8.1 でした。
どうやったらMongodbが要修復になるかっていうと、例えば無限ループをdiskfullになるまで突っ込んでみるとか。。
0 件のコメント:
コメントを投稿