- インストール
最近、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のあたりをごにょごにょするけど、それはまた今度。