Overview
Use this tutorial to manually install MongoDB 8.0 Community Edition on macOS using a downloaded .tgz tarball.
MongoDB Version
This tutorial installs MongoDB 8.0 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 you can install MongoDB manually using a downloaded .tgz tarball as described in this document, we recommend using the brew package manager on your system if possible. Using a package manager automatically installs all needed dependencies, provides an example mongod.conf file, and simplifies future upgrade and maintenance tasks.
➤ See Install MongoDB using the brew Package Manager for instructions.
Considerations
MongoDB Shell, mongosh
When you use the .tgz package to install the server, you need to follow the mongosh installation instructions to download and install mongosh separately.
Platform Support
MongoDB 8.0 Community Edition supports macOS 13 or later on 64-bit Intel (x86_64, Haswell, or newer) and Apple Silicon (arm64) systems.
For more information, see Platform Support.
Production Notes
Before deploying MongoDB in a production environment, see the Production Notes for Self-Managed Deployments document for performance considerations and configuration recommendations.
Install MongoDB Community Edition
To manually install MongoDB Community Edition from the .tgz, select the tab that corresponds with your Mac's processor and complete the following steps:
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. Replace/path/to/the/mongodb-directory/with your installation directory.sudo cp /path/to/the/mongodb-directory/bin/* /usr/local/bin/ Create symbolic links to the binaries from a directory listed in your
PATHvariable, such as/usr/local/bin. Replace/path/to/the/mongodb-directory/with your installation directory.sudo ln -s /path/to/the/mongodb-directory/bin/* /usr/local/bin/
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. Replace/path/to/the/mongodb-directory/with your installation directory.sudo cp /path/to/the/mongodb-directory/bin/* /usr/local/bin/ Create symbolic links to the binaries from a directory listed in your
PATHvariable, such as/usr/local/bin. Replace/path/to/the/mongodb-directory/with your installation directory.sudo ln -s /path/to/the/mongodb-directory/bin/* /usr/local/bin/
Run MongoDB Community Edition
- ulimit Considerations
Most Unix-like operating systems limit the system resources that a process may use. These limits may negatively impact MongoDB operation, and should be adjusted. See UNIX ulimit Settings for Self-Managed Deployments for the recommended settings for your platform.
Note
If the
ulimitvalue for number of open files is under64000, MongoDB generates a startup warning.
Procedure
Follow these steps to run MongoDB Community Edition. These instructions assume that you are using the default settings.
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 ~/data/db directory:
sudo mkdir -p ~/data/db
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 <user> ~/data/db sudo chown <user> ~/data/log/mongodb
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 ~/data/db --logpath ~/data/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 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 Settings
Click Privacy & Security in the sidebar.
In the Security section, click the Open Anyway button to the right of the message about
mongod.
Begin using MongoDB.
Start a mongosh session on the same host machine as the mongod. You can run mongosh without any command-line options to connect to a mongod that is running on your localhost with the default port of 27017:
mongosh
For more information on connecting using mongosh, such as to connect to a mongod instance running on a different host and/or port, see the mongosh documentation.
To help you start using MongoDB, MongoDB provides Getting Started Guides in various driver editions. See Getting Started with MongoDB 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:
Warning
Before you bind your instance to a publicly-accessible IP address, you must secure your cluster from unauthorized access. For a complete list of security recommendations, see Security Checklist for Self-Managed Deployments. At minimum, consider enabling authentication and hardening network infrastructure.
For more information on configuring bindIp, see IP Binding in Self-Managed Deployments.