Posted at

macにbrewでいれたmongodbが突然動かなくなった人のためのヒント

More than 5 years have passed since last update.

はまったのでメモ。

ふと思い立って

$ brew update

$ brew upgrade

とかやりますよね。僕はやります。そしておもむろにmongodbを起動するわけですよ。

$ mongod

すると

2014-04-29T16:36:23.567+0900 [initandlisten] exception in initAndListen: 10296

*********************************************************************
ERROR: dbpath (/data/db) does not exist.
Create this directory or give existing directory in --dbpath.
See http://dochub.mongodb.org/core/startingandstoppingmongo
*********************************************************************
, terminating

▂▅▇█▓▒░(’ω’)░▒▓█▇▅▂うわあああああああ

/data/dbが無いと怒られています。ごめんなさい。すいません。

あ、ちなみにバージョンはこんな感じです。

$ mongod --version

db version v2.6.0
$ brew --version
0.9.5

まぁ、単純に /data/db ディレクトリを作ってmongodすれば解決なのですが、

じゃぁ、前まで動いていた古いデータはどこにあるのん?という話ですよ。というか、古いデータ使えないといろいろ辛いじゃないですかーやだー。

で、いろいろ調べたら古いデータは以下にありますた。

/usr/local/var/mongodb/

場所さえわかればこっちのもの。起動オプションなりmongod.confなりで指定して起動すればいいだけです。

$ mongod -dbpath /usr/local/var/mongodb

あ、僕は起動オプションつけるのすら面倒なので、/data/dbにシンボリックリンク貼りました。

$ sudo mkdir /data

$ sudo chmod 777 /data
$ ln -s /usr/local/var/mongodb /data/db

これで単純に mongod ってたたけばmongodbが起動します。めでたしめでたし。

ちなみに、もしかして……とおもって調べてみたら古いmongod.confは案の定 /usr/local/etc/mongod.conf にありましたとさ。

めでたしめでたし。

尾張。