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

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 --version
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

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

FrogWoman
(Qiitaに書いてる理由)自分用のメモでもあり、自分が躓いたところで他の人が同じように躓いて時間を無駄にするようなことが減るといいなあと思い書いてます。 間違い等があれば指摘してもらえると有難いです
http://frogwoman.hatenablog.jp/
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