Navigation

Install MongoDB Community on macOS using .tgz Tarball

MongoDB Atlas

MongoDB Atlas is a hosted MongoDB service option in the cloud which requires no installation overhead and offers a free tier to get started.

Overview

Use this tutorial to manually install MongoDB 4.2 Community Edition on macOS using a downloaded .tgz tarball.

MongoDB Version

This tutorial installs MongoDB 4.2 Community Edition. To install a different version of MongoDB Community, use the version drop-down menu in the upper-left corner of this page to select the documentation for that version.

Installation Method

While MongoDB can be installed manually via a downloaded .tgz tarball as described in this document, it is recommended to use the brew package manager on your system to install MongoDB if possible. Using a package manager automatically installs all needed dependencies, provides an example mongod.conf file to get you started, and simplifies future upgrade and maintenance tasks.

➤ See Install MongoDB using the brew Package Manager for instructions.

Considerations

Platform Support

MongoDB 4.2 Community Edition supports macOS 10.12 or later.

See Supported Platforms for more information.

Production Notes

Before deploying MongoDB in a production environment, consider the Production Notes document which offers performance considerations and configuration recommendations for production MongoDB deployments.

Install MongoDB Community Edition

Follow these steps to manually install MongoDB Community Edition from the .tgz.

1

Download the tarball.

Download the MongoDB Community TGZ tarball from the following link:

MongoDB Download Center

  1. In the Version dropdown, select the version of MongoDB to download.
  2. In the OS dropdown, select macOS x64.
  3. In the Package dropdown, select TGZ.
  4. Click Download.
2

Extract the files from the downloaded archive.

tar -zxvf mongodb-macos-x86_64-4.2.5.tgz

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

3

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 PATH variable, such as /usr/local/bin (Update /path/to/the/mongodb-directory/ with your installation directory as appropriate)

    sudo cp /path/to/the/mongodb-directory/bin/* /usr/local/bin/
    
  • Create symbolic links to the binaries from a directory listed in your PATH variable, such as /usr/local/bin (Update /path/to/the/mongodb-directory/ with your installation directory as appropriate):

    sudo ln -s  /path/to/the/mongodb-directory/bin/* /usr/local/bin/
    

Run MongoDB Community Edition

Follow these steps to run MongoDB Community Edition. These instructions assume that you are using the default settings.

1

Create the data directory.

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

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

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

Important

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

2

Create the log directory.

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

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

sudo mkdir -p /usr/local/var/log/mongodb
3

Set permissions for the data and log directories.

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

sudo chown my_mongodb_user /usr/local/var/mongodb
sudo chown my_mongodb_user /usr/local/var/log/mongodb
4

Run MongoDB.

To run MongoDB, run the mongod process at the system prompt, providing the two parameters dbpath and logpath from above, and the fork parameter to run mongod in the background. Alternatively, you may choose to store the values for dbpath, logpath, fork, and many other parameters in a configuration file.

Run mongod with command-line parameters

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

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 a configuration file with the config parameter:

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

Note

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

5

Verify that MongoDB has started successfully.

Verify that MongoDB has started successfully:

ps aux | grep -v grep | grep mongod

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

6

Begin using MongoDB.

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

mongo

Note

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

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

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

Additional Information

Localhost Binding by Default

By default, MongoDB launches with bindIp set to 127.0.0.1, which binds to the localhost network interface. This means that the mongod can only accept connections from clients that are running on the same machine. Remote clients will not be able to connect to the mongod, and the mongod will not be able to initialize a replica set unless this value is set to a valid network interface.

This value can be configured either:

  • in the MongoDB configuration file with bindIp, or
  • via the command-line argument --bind_ip

Warning

Before binding to a non-localhost (e.g. publicly accessible) IP address, ensure you have secured your cluster from unauthorized access. For a complete list of security recommendations, see Security Checklist. At minimum, consider enabling authentication and hardening network infrastructure.

For more information on configuring bindIp, see IP Binding.