LoginSignup
45

More than 5 years have passed since last update.

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

Posted at

概要(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 コマンドメモとか書き

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
45