• インストール

最近、MongoDBを使ってみてる。製品と一緒にインストールさせるのに、 インストーラーみたいなのでやらずに、コマンドラインでのやり方。 本家のDocに書いてあるけど、いちを↓のコマンド

msiexec.exe /qb /i mongodb-win32-x86_64-3.2.4-signed.msi INSTALLLOCATION="I:\MongoDB" ADDLOCAL="all"

本家だとオプションが/qだけど、これだとマジで何も出なくて不安になるので、 進捗ステータスだけ表示したいから/qb。

ちなみに、すでにインストールされている場合は一度、インストーラ上げて、Removeやっておかないと 内部のパスの指定がめちゃくちゃになるっぽい。はまった。

インストールログを出したい場合は、上記のコマンドの一番最後に「/log installlog.log」みたいにつけてあげる。

  • サービス化

コマンドプロンプで「mongod」とか打ってるのは嫌なのでサービスにする。 まず、コンフィグファイルを作る。↓の感じ。

systemLog:
   destination: file
   path: I:\MongoDB\log\mongodb.log
   logAppend: true
storage:
   engine: wiredTiger
   dbPath: I:\MongoDB\data
net:
   bindIp: 127.0.0.1
   port: 27017
setParameter:
   enableLocalhostAuthBypass: false

logのフォルダとdataのフォルダは自分で作っておく。 ついでに、32bitOSの場合はエンジンに「wiredTiger」が使え無いっぽい。デフォルトのままやろうとすると、mongodを実行した時点でエラーになってサーバが上がらない。この場合は↑のコンフィグのエンジンの指定を「mmapv1」に変える。

使えるなら「wiredTiger」の方がいいらしいです。DBサイズがかなり軽くなるとか。。。

で、上記のファイルを「mongodb.conf」あたりのファイル名でインストールしたフォルダあたりに保存しておく。 いちをファイルはUTF8で作った。

設定ファイルつり終わったら↓のコマンドでサービス化する。

mongod.exe --config "I:\MongoDB\mongodb.conf" --install --serviceName MongoDB

作った直後は開始されてないので、サービス開いて、MongoDBのサービスを開始する。

この設定だとローカルからのアクセスしかできない。外部からのアクセスを許可する場合は、Netのあたりをごにょごにょするけど、それはまた今度。