Navigation

Install MongoDB Community on macOS using .tgz Tarball

Overview

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

MongoDB Version

This tutorial installs MongoDB 3.6 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 3.6 Community Edition supports macOS 10.10 or later.

Note

MongoDB 3.6 is not tested on APFS, the new filesystem in macOS 10.13 and may encounter errors.

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 MongoDB .tgz tarball.

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

2

Extract the files from the downloaded archive.

tar -zxvf mongodb-osx-ssl-x86_64-3.6.20.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

macOS Prevents mongod From Opening

macOS may prevent mongod from running after installation. If you receive a security error when starting mongod indicating that the developer could not be identified or verified, do the following to grant mongod access to run:

  • Open System Preferences
  • Select the Security and Privacy pane.
  • Under the General tab, click the button to the right of the message about mongod, labelled either Open Anyway or Allow Anyway depending on your version of macOS.
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

macOS Prevents mongo From Opening

macOS may prevent mongo from running after installation. If you receive a security error when starting mongo indicating that the developer could not be identified or verified, do the following to grant mongo access to run:

  • Open System Preferences
  • Select the Security and Privacy pane.
  • Under the General tab, click the button to the right of the message about mongo, labelled either Open Anyway or Allow Anyway depending on your version of macOS.

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 MongoDB Configuration Hardening.