MongodbのDB変更
mongodbでのdbpathを変更するのに少し手間取ったのでメモ。
mongod --dbpath=/User/homu/Libraly/mongodb/db &
とすると、
listen(): bind() failed errno:98 Address already in use for socket: 0.0.0.0:27017
こんなエラーがでて、変更できない。
すでにdbが動いているので変更できないと怒られているみたい。
なので、mongodbを一度止める
$ ./mongo
use admin
db.shutdownServer()
これで止まるので、もう一度動かす
mongod --dbpath=/User/homu/Libraly/mongodb/db &
これで切り替え成功。
追記
ここでエラーがでた場合、lockがかかっていて修復する必要がある。
その場合はMongoDBの公式の方に書かれているのでそちらを参考にするとよい
http://docs.mongodb.org/manual/tutorial/recover-data-following-unexpected-shutdown/
ざっと引用
1.ロックしてるファイルを削除する
rm /data/db/mongod.lock
2.DBを修復する
mongod --dbpath /data/db --repair
3.再起動する
mongod --dbpath /data/db