MongoDB

HomebrewでMacにMongoDBをインストールした時のメモ

More than 1 year has passed since last update.

Qiita初心者なので、練習がてらの投稿です。

環境

Mac : 10.11.5(OS X El Capitan)
Homebrew : 1.1.11
MongoDB : 3.4.2

参考URL

https://docs.mongodb.org/manual/tutorial/install-mongodb-on-os-x/

インストール手順

Homebrewのパッケージをアップデート

$ brew update

MongoDBをインストール

$ brew install mongodb

参考URLを見ていただくと他にも

  • TLS/SSLサポート付きのインストール
  • 最新の開発用版のインストール

があるようですが、今回はそれらはやめておきます。
どれもエラーが出るようなので、Normalに install mongodb を叩きます。

$ brew install mongodb
==> Downloading https://homebrew.bintray.com/bottles/mongodb-3.4.2.el_capitan.bottle.1.tar.gz
######################################################################## 100.0%
==> Pouring mongodb-3.4.2.el_capitan.bottle.1.tar.gz
==> Caveats
To have launchd start mongodb now and restart at login:
  brew services start mongodb
Or, if you don't want/need a background service you can just run:
  mongod --config /usr/local/etc/mongod.conf
==> Summary
🍺  /usr/local/Cellar/mongodb/3.4.2: 17 files, 266.6MB

バージョン確認

$ mongo
MongoDB shell version v3.4.2

設定ファイル

/usr/local/etc/mongod.conf

MongoDBを実行する

データ格納用ディレクトリの作成

まず最初にデータを保存するディレクトリを作成します。
デフォルトでは /data/db になっているようで、初期実行時にそのディレクトリにデータファイルが生成されるようです。

$ sudo mkdir /var/lib/mongodb

ログファイルの作成

ログの出力先ファイルを作成します。

$ sudo touch /var/log/mongodb.log

MongoDBを手動で起動

フロントエンドで起動

先程作成した データ格納用ディレクトリログファイル を指定してMongoDBを起動します。
起動するとターミナルで待ち受け状態になります。

$ sudo mongod --dbpath /var/lib/mongodb --logpath /var/log/mongodb.log

停止する場合は Control + C

バックエンドで起動

--fork コマンドを付与します。

$ sudo mongod --fork --dbpath /var/lib/mongodb --logpath /var/log/mongodb.log

バックエンドで起動した場合はMongoシェルからの停止になります。

$mongo
> use admin
switched to db admin
> db.shutdownServer()
server should be down...

MongoDBを自動起動に設定

MongoDBをインストールした際に To have launchd start mongodb now and restart at login: brew services start mongodb
とあったので、

$ brew services start mongodb
==> Successfully started `mongodb` (label: homebrew.mxcl.mongodb)
$ brew services list
Name    Status  User Plist
mongodb started frog /Users/frog/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
$ ls -l ~/Library/LaunchAgents
total 16
-rw-------  1 frog  staff  949  3 19 20:41 homebrew.mxcl.mongodb.plist

startの部分を stop 自動起動を停止できます。

デフォルトポート

デフォルトのポートは 27017 になっており、
http://localhost:27017
にアクセスすると It looks like you are trying to access MongoDB over HTTP on the native driver port.
と表示されます。

別ターミナルでMongoシェルを起動

通常ですとMongoのPATHが通っていると思うので、
以下のコマンドで起動します。

$ mongo

抜ける時は exit

HomebrewにてMongoDBの再インストールしたくなった時

brew uninstall mongodb

もし、アンインストール中にPermission deniedエラーがでた時は

$ sudo chown -R $USER /usr/local

にてアンインストールを行い、データ保管用ディレクトリの削除を行う。

$ sudo rm -rf /var/lib/mongodb
$ sudo rm -rf /var/log/mongodb.log

とりあえずここまで(゚¬゚)