10
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

MongoDBをMacOSにインストール

Last updated at Posted at 2022-12-18

概要

MacOSへのMongoDBインストールのメモ.
参考にした公式Document
Install MongoDB Community Edition on macOS

今回は関係ないですが,MongoDB Atlasと呼ばれるクラウド版があるようで,クラウド版であればインストールの手間が無いです.

インストール

まず,homebrewフォーミュラをダウンロード

$ brew tap mongodb/brew

次に,mongodbをダウンロード

$ brew install mongodb-community

パスを通す

インストール完了後,mongoコマンドやmongodコマンド等が使用できない場合はパスを通します.

~/.zshrcファイルを開きます.

$ open ~/.zshrc

~/.zshrcファイルに以下の文を追加してパスを通します.

export PATH=/opt/homebrew/Cellar/mongodb-community/${version}/bin:$PATH

環境に合わせて${version}を書き換えてください.
例:自分の場合は,最新版ではなくバージョン4.4を指定したため,
PATH=/opt/homebrew/Cellar/mongodb-community@4.4/4.4.16/bin:$PATHとなっています.

ファイルを保存して閉じます.

~/.zshrcファイルを読み込み直して,設定を反映させましょう.

source ~/.zshrc

ターミナルを再起動する方法でも読み込みを行えます.

起動

mongoコマンドでmongoDBを操作することができますが,まずmongoDB(mongdプロセス)を起動する必要があります.

起動はMacOS service実行する場合と,バックグラウンドで実行する場合の2パターン用意されています.

MacOS serviceとして実行する場合

//起動
$ brew services start mongodb-community
//停止
$ brew services stop mongodb-community

バックグラウンドで実行する場合

mongod --config /opt/homebrew/etc/mongod.conf --fork

メモ

mongodを起動するときに,データベースのパスを指定する必要がありますが,ここで紹介した方法では明示的にパスを指定する必要がないです.

指定しない場合、mongod.confファイルに設定されたdbPathがパスとなります.
mongod.confmongodbインストール時に/opt/homebrew/etc/mongod.confに同時にダウンロードされています.

$ more /opt/homebrew/etc/mongod.conf
systemLog:
  destination: file
  path: /opt/homebrew/var/log/mongodb/mongo.log
  logAppend: true
storage:
  dbPath: /opt/homebrew/var/mongodb
net:
  bindIp: 127.0.0.1, ::1
  ipv6: true

mongoシェルの起動

MongoDBの操作はmongoシェルで行います.mongoシェルはmongoで起動できます.

$ mongo
MongoDB shell version v4.4.16
>

以上です.

10
13
0

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
10
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?