MacにMongoDBをインストール

表題の通り。

■ 環境

  • MongoDB 3.0.7
  • Mac OSX (10.10.5)
  • Homebrew

■ インストール

いつも通りにインストール。

$ brew update
$ brew install mongodb

■ サーバプロセスの起動

とりあえずインストール時に表示されている手段で起動する。`brew info mongodb`でも同じ表記が取得できる。

$ mongod --config /usr/local/etc/mongod.conf

デーモン起動ではないようなので別ターミナルから接続する。

$ mongo
MongoDB shell version: 3.0.7
connecting to: test
> show dbs
2015-11-20T19:17:13.825+0900 E QUERY    Error: listDatabases failed:{
    "ok" : 0,
    "errmsg" : "not authorized on admin to execute command { listDatabases: 1.0 }",
    "code" : 13
}
    at Error ()
    at Mongo.getDBs (src/mongo/shell/mongo.js:47:15)
    at shellHelper.show (src/mongo/shell/utils.js:630:33)
    at shellHelper (src/mongo/shell/utils.js:524:36)
    at (shellhelp2):1:1 at src/mongo/shell/mongo.js:47
>

認証が掛かっているようである。設定を確認。

$ cat /usr/local/etc/mongod.conf
# Store data in /usr/local/var/mongodb instead of the default /data/db
dbpath = /usr/local/var/mongodb

# Append logs to /usr/local/var/log/mongodb/mongo.log
logpath = /usr/local/var/log/mongodb/mongo.log
logappend = true

# Only accept local connections
bind_ip = 127.0.0.1

httpinterface=true
rest=true
auth=true
$

最終行に`auth=true`がある。これが原因のようである。ローカルのテスト環境なので認証を外す。また、デーモン起動できるように下記のように編集した。

  • fork = true
  • auth = false

これで起動する。

$ mongod --config /usr/local/etc/mongod.conf
about to fork child process, waiting until server is ready for connections.
forked process: 87692
child process started successfully, parent exiting
$

デーモン起動されたので同じターミナルから再度接続。

$ mongo
MongoDB shell version: 3.0.7
connecting to: test
> show dbs
local  0.078GB
>

接続が確認できた。

以上。

■ 関連