Homebrew
からMongoDB
をインストールした時のMongoDB
の起動
こんなエラーが出て起動できなかったのでメモ。下にまとめ。
$ mongo foo
MongoDB shell version v3.4.10
connecting to: mongodb://127.0.0.1:27017/foo
2017-11-01T16:14:33.082+0900 W NETWORK [thread1] Failed to connect to 127.0.0.1:27017, in(checking socket for error after poll), reason: Connection refused
2017-11-01T16:14:33.082+0900 E QUERY [thread1] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed :
connect@src/mongo/shell/mongo.js:237:13
@(connect):1:6
exception: connect failed
調べると、osx - Cannot connect to mongodb errno:61 Connection refused - Stack Overflow で、対処法があった。
MongoDB
のデーモンプロセスmongod
を起動する必要があり、起動の前に、DB用のディレクトリを作成しなければならない。デフォルトは/data/db
が指定されている。
そのディレクトリを作成して、sudo mongod
でデーモンを起動できる。そのあとmongo
でシェルを起動すればいい。
ディレクトリを指定したい時は、linux - MongoDB Data directory /data/db not found - Stack Overflowのように、デーモン起動時にmongod --dbpath /data/<path>
を使って指定する。
まとめ
# install
brew update
brew install mongodb
# set and run daemon
sudo mkdir -p /data/db
sudo mongod
# run shell
mongo
# stop daemon
kill <PID for mongod>
停止がこれでいいのか疑問。PID
はps -e | grep mongod
で調べる。
コメント