Install using .tgz Tarball on macOS

Overview

The following tutorial downloads the .tgz file directly to installMongoDB Community Edition on macOS. To install using brew, seeInstall MongoDB Community Edition on macOS instead.

Prerequisites

MongoDB 4.2+ only supports macOS versions 10.12 andlater on Intel x86-64. See Supported Platforms for moreinformation.

Install MongoDB Community Edition

Note

To install a different version of MongoDB, please refer to thatversion’s documentation. To install the previous version, seethe tutorial for version 4.0.

Download the MongoDB .tgz tarball.

Download the tarball for your system from the MongoDB Download Center.

Extract the files from the downloaded archive.

  1. tar -zxvf mongodb-macos-x86_64-4.2.1.tgz

If your web browser automatically unzips the file as part of thedownload, the file would end in .tar instead.

Ensure the binaries are in a directory listed in your PATH environment variable.

The MongoDB binaries are in the bin/ directory of the tarball.You can either:

  • Copy the binaries into a directory listed in your PATHvariable, such as /usr/local/bin (Update/path/to/the/mongodb-directory/ with your installationdirectory as appropriate)
  1. sudo cp /path/to/the/mongodb-directory/bin/* /usr/local/bin/
  • Create symbolic links to the binaries from a directory listed inyour PATH variable, such as /usr/local/bin (Update/path/to/the/mongodb-directory/ with your installationdirectory as appropriate):
  1. sudo ln -s /path/to/the/mongodb-directory/bin/* /usr/local/bin/

Run MongoDB

Create the data directory.

Before you start MongoDB for the first time, you must create thedirectory to which the mongod process will write data.

For example, to create the /usr/local/var/mongodb directory:

  1. sudo mkdir -p /usr/local/var/mongodb

Important

Starting with macOS 10.15 Catalina, Apple restricts access to theMongoDB default data directory of /data/db. On macOS 10.15Catalina, you must use a different data directory, such as/usr/local/var/mongodb.

Create the log directory.

You must also create the directory in which the mongod processwill write its log file:

For example, to create the /usr/local/var/log/mongodb directory:

  1. sudo mkdir -p /usr/local/var/log/mongodb

Set permissions for the data and log directories.

Ensure that the user account running mongod has readand write permissions for these two directories. If you are runningmongod as your own user account, and you just createdthe two directories above, they should already accessible to youruser. Otherwise, you can use chown to set ownership,substituting the appropriate user:

  1. sudo chown my_mongodb_user /usr/local/var/mongodb
  2. sudo chown my_mongodb_user /usr/local/var/log/mongodb

Run MongoDB.

To run MongoDB, run the mongod process at the systemprompt, providing the two parameters dbpath and logpathfrom above, and the fork parameter to run mongodin the background. Alternatively, you may choose to store the valuesfor dbpath, logpath, fork, and many other parameters in aconfiguration file.

Run mongod with command-line parameters

Run the mongod process at the system prompt,providing the three necessary parameters directly on thecommand-line:

  1. mongod --dbpath /usr/local/var/mongodb --logpath /usr/local/var/log/mongodb/mongo.log --fork

Run mongod with a configuration file

Run the mongod process at the system prompt,providing the path to aconfiguration filewith the config parameter:

  1. mongod --config /usr/local/etc/mongod.conf

Note

If you receive an error message indicating that mongod couldnot be opened, go to System Preferences > Security and Privacy.Under the General tab, click the “Allow Anyway” button to theright of the message about mongod.

Verify that MongoDB has started successfully.

Verify that MongoDB has started successfully:

  1. ps aux | grep -v grep | grep mongod

If you do not see a mongod process running, check the logfile forany error messages.

Begin using MongoDB.

Start a mongo shell on the same host machine as themongod. You can run the mongo shellwithout any command-line options to connect to amongod that is running on your localhost with thedefault port of 27017:

  1. mongo

Note

If you needed to explicitly approve the mongod application inSystem Preferences above, you must also do so for mongo.

For more information on connecting using the mongoshell, such as to connect to a mongod instance runningon a different host and/or port, see The mongo Shell.

To help you start using MongoDB, MongoDB provides GettingStarted Guides in various driver editions. SeeGetting Started for the available editions.

Additional Considerations

Security

Starting with MongoDB 3.6, MongoDB binaries, mongod and mongos, bind tolocalhost by default.

When bound only to the localhost, these binaries can only acceptconnections from clients that are running on the same machine. Remoteclients cannot connect to the binaries bound only to localhost. Formore information, including how to override and bind to other ipaddresses, see Localhost Binding Compatibility Changes.