Hatena::ブログ(Diary)

ホワイトぼーど このページをアンテナに追加 RSSフィード

2011-11-12

MongoDBをWindowsのサービスに登録する

執筆時点でのMongoDBの最新バージョンは2.0.1。
MongoDBは、データの格納形式がBSONというJSONバイナリ版のような形式で、また、JavaScriptをストアドプロシージャとして利用できるなど、これからnode.jsと共にJavascriptを学ぼうという私のような人間には一石二鳥な仕様です。


MongoDBダウンロード


MongoDBサイトからファイルをダウンロードします。
http://www.mongodb.org/downloads
環境に応じて「Windows 64-bit」か「Windows 32-bit」を選択し、ダウンロードしたら解凍します。
mongodb-win32-x86_64-2.0.1」というディレクトリができます。(64bitの場合)


USBメモリなどで持ち歩いて使う場合


学校など勝手にアプリケーションインストールができないようになっているパソコンでも、USBメモリなどで持ち歩いて簡単に利用できるのがMongoDBのいいところです。

例えばUSBメモリのドライブが「K:」だった場合は、「K:\MongoDB」というディレクトリを作って、ここに先ほど解凍した「mongodb-win32-x86_64-2.0.1」を入れます。
すると、「K:\MongoDB\mongodb-win32-x86_64-2.0.1\bin\mongod.exe」を実行するだけで、データベースが立ち上がります。

ただし、データとログの格納場所がデフォルトでは「C:\data」ディレトリ内になっているので、これを変える必要はあります。
「K:\MongoDB\log」ディレクトリと「K:\MongoDB\dbディレクトリを作った上で、以下のようにコマンドプロンプトオプションを指定して起動すると問題ありません。

> K:\MongoDB\mongodb-win32-x86_64-2.0.1\bin\mongod.exe --logpath K:\MongoDB\log\log.txt --dbpath K:\MongoDB\db
all output going to: K:\MongoDB\log\log.txt

コマンドプロンプトのウィンドウが開いたままですが、この状態でデータベースは起動しています。


MongoDBWindowsのサービスとして登録する


自分のパソコンで使用する際は逆に、イチイチコマンドを打って立ち上げるのも面倒だし、コマンドプロンプトも邪魔です。
自分のパソコンの場合は、Windowsのサービスとして登録しておくのがベスト。

注意点は上の「USBメモリで使う」場合と同じで、まず、データとログの格納ディレクトリを作成し、サービス登録時にそのディレクトリを指定します。
私の場合、「C:\MongoDBディレクトリを作成し、その下に「mongodb-win32-x86_64-2.0.1」をコピーし、「C:\MongoDB\log」ディレクトリと「C:\MongoDB\dbディレクトリを作りました。

インストールコマンドは具体的には以下になります。
といっても、「--install」を加えただけですが、注意点としてコマンドプロンプトは管理者として実行する必要があります。

> C:\MongoDB\mongodb-win32-x86_64-2.0.1\bin\mongod.exe --install --logpath C:\MongoDB\log\log.txt --dbpath C:\MongoDB\db
all output going to: C:\MongoDB\log\log.txt

インストールできたかどうかのログは既にlog.txtの方に書きこまれているので確認してみましょう。


動作しているか確認する


「C:\MongoDB\mongodb-win32-x86_64-2.0.1\bin\mongo.exe」をダブルクリックすると、データベースへのインターフェイスが立ち上がります。

MongoDB shell version: 2.0.1
connecting to: test
>

「show dbs」と打ち込むと現在登録されているDBが表示されます。

> show dbs
local   (empty)


Windowsのサービスから削除する

> mongod --remove
Deleting service MongoDB.
Service deleted successfully.