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

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