Help us understand the problem. What is going on with this article?

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

More than 3 years have 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 コマンドメモとか書き

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした