MongoDB 3.0.6(Windows版)をインストールして起動するまでの手順

  • 27
    Like
  • 0
    Comment
More than 1 year has passed since last update.

概要(MongoDBとは)

  • NoSQL(Not only SQL)の1種
  • RDBMS界隈の初見者も理解しやすいデータ構造
    • テーブルに相当する概念:コレクション
    • レコードに相当する概念:ドキュメント
    • find(SQLのselectに相当)、insert、update、remove(SQLのdeleteに相当)などでドキュメントを操作
  • 大量のデータを管理&検索することに向いている
  • ただし、MongoDBの苦手分野もある
    • 「結合」が苦手
    • トランザクションがない
      • 複数のコレクションを(複雑なルールで)同時更新するのには向いてない
  • JSONに似た形式でドキュメントを表現する
    • RDBMSの「列」ではないので、コレクション内に持つドキュメントを柔軟に定義(変更)できる

Windowsで使う場合(2015/08/30時点)

インストール

  • Downloads - MongoDBからダウンロード
    • WindowsのVERSION(例:Windows 64-bit 2008 R2+)を選択して、DOWNLOAD(MSI)をクリック
  • インストーラーに頼る(例:mongodb-win32-x86_64-2008plus-ssl-3.0.6-signed.msi)
  • インストール後、exeファイルの場所をPathに追加
    • 例:C:\Program Files\MongoDB\Server\3.0\bin
    • コマンドプロンプトでmongod --versionが通ってればOK

起動方法

  • データを保存する場所とログを保存する場所を確保する
    • データの保存場所の例:D:\mongodb\data
    • ログの保存場所の例:D:\mongodb\logs
  • コマンドプロンプトでMongoDBを起動する
    • 例:mongod --dbpath D:\mongodb\data --logpath D:\mongodb\logs\mongodb.log

終了方法

  • 別のコマンドプロンプトから終了してみる
mongo
use admin
db.shutdownServer()
quit()

サービス登録

  • 毎回コマンドプロンプトから起動するのが面倒な場合、Windowsサービスに登録もできる
    • 管理者権限で --installオプションをつけてMongoDBを起動するだけ
      • mongod --removeでサービス削除ができる
  • 起動時に色々オプション渡すのが面倒な場合、設定ファイル(confファイル)を用意する
    • 管理者権限でmongod --install --config D:\mongodb\mongodb.confのようにコマンドを打てばOK
    • confファイルはUTF-8で保存する
      • SJISだとサービス名とかが文字化けしちゃう
    • 以下は設定例
storage:
  dbPath: D:\mongodb\data
  engine: wiredTiger
  journal:
    enabled: true

systemLog:
  destination: file
  path: D:\mongodb\logs\mongodb.log

net:
  bindIp: 127.0.0.1

processManagement:
   windowsService:
      serviceName: MongoDB
      displayName: MongoDB
      description: MongoDBのサービス
#      serviceUser: <string>
#      servicePassword: <string>

クライアント

コマンドプロンプトから操作できるけど、色々なクライアントツールがあるみたい。
とりあえずRobomongoというのを使ってみる。

困ったこと(というか注意すること)

MongoDB3.0からストレージエンジンが2種類になったらしい。新エンジンの方が速いらしい。

  • mmapv1(従来エンジン:デフォルト)
  • wiredTiger(新エンジン)

ただし、新エンジンのwiredTigerを使う場合、従来エンジンmmapv1で作成したDBデータとは互換性がないみたい。

起動時エラーの例:exception in initAndListen: 28574 Cannot start server. Detected data files in D:\mongodb\data created by storage engine 'mmapv1'. The configured storage engine is 'wiredTiger'., terminating

参考になりそうなサイト

外部サイト(概要と運用方法について)

初心者向けMongoDBのキホン!
MongoDB〜その性質と利用場面〜

Qiita内投稿記事(実際の操作方法について)

MongoDB超入門
mongod設定項目まとめ(wiredTiger編)
MongoDB コマンドメモとか書き