MongoDB クライアント(mongo
コマンドや Web アプリケーション)から MongoDB のデータベースにアクセスするには、あらかじめ MongoDB サーバー(mongod
)を起動しておく必要があります。
MongoDB サーバーを起動する (mongod)
MongoDB サーバーは、単純にコマンドラインから mongod
と実行するだけで起動できます(Windows のサービスとして起動 しておくことも可能です)。
mongod
コマンドを実行するときに、--dbpath
オプションを使ってデータの格納先ディレクトリを指定することができます(デフォルトは /data/db
)。
下記の例では、mydata
ディレクトリをデータ格納先に指定しています。
$ mkdir mydata
$ mongod --dbpath mydata
ログファイル名を指定する (–logpath, –logappped)
MongoDB サーバーのログはデフォルトで標準出力に出力されますが、--logpath
オプションを使って、出力先のログファイル名を指定することもできます。
さらに、--logappend
オプションを指定すると、これまでのログに追記される形で書き込まれます(このオプションを付けないと、ログファイルが上書きされてしまいます)。
$ mongod --dbpath mydata --logpath log.txt --logappend
--dbpath
にはディレクトリ名を指定しますが、--logpath
にはファイル名を指定することに注意してください。
ポート番号を指定する (–port)
mongod
が使用するデフォルトのポート番号は 27017
ですが、--port
オプションを使用して、任意のポート番号で起動することができます。
ポート番号を変更しておけば、1 台のホスト上で複数の mongod
を立ち上げることができます。
$ mongod --dbpath mydata --port 40001
サーバー側のポート番号を変更した場合は、mongo
クライアントを起動するときにも mongo localhost:40001/dbname
や --port 40001
のようにポート番号の指定が必要になることに注意してください。
MongoDB サーバー用の設定ファイル
設定を YAML ファイルに記述する
MongoDB サーバー用の起動オプションは、YAML 形式の設定ファイルに記述しておくことができます(YAML 形式は ver 2.6 から対応)。
storage:
dbPath: data/db
systemLog:
destination: file
path: data/log/mongod.log
logAppend: true
net:
port: 40001
$ mongod --config mongod.yml
設定ファイルの詳細については下記の公式ドキュメントを参照してください。
起動用のスクリプトを作成する
いずれにしても、データ格納先のディレクトリ(上記の例では data
)はあらかじめ作成しておく必要があるので、簡単な設定だけであれば、シェルスクリプトやバッチファイルで起動するようにしておいた方が楽かもしれません。
#!/bin/bash
PORT=40001
mkdir -p data/db
mkdir -p data/log
echo Start mongod on port $PORT ...
mongod --dbpath data/db --logpath data/log/mongod.log --logappend --port $PORT &
#!/bin/bash
killall mongod
@echo off
md data\db > NUL 2>&1
md data\log > NUL 2>&1
echo Start mongod ...
mongod --dbpath data\db --logpath data\log\mongod.log --logappend --port 40001