表題の通り。
■ 環境
- 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
>
接続が確認できた。
以上。