Install MongoDB Enterprise on macOS
On this page
Note
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 6.0 Enterprise
Edition on macOS using a downloaded .tgz
tarball.
MongoDB Enterprise Edition is available on select platforms and contains support for several features related to security and monitoring.
MongoDB Version
This tutorial installs MongoDB 6.0 Enterprise Edition. To install a different version of MongoDB Enterprise, use the version drop-down menu in the upper-left corner of this page to select the documentation for that version.
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
Note
EOL Notice
MongoDB 5.0 Enterprise Edition removes support for macOS 10.13
MongoDB 6.0 Enterprise Edition supports macOS 10.14 or later.
See Platform Support for more information.
Production Notes
Before deploying MongoDB in a production environment, consider the Production Notes for Self-Managed Deployments document which offers performance considerations and configuration recommendations for production MongoDB deployments.
Install MongoDB Enterprise Edition
To manually install MongoDB Enterprise 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
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/
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 Enterprise 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 theulimit
value for number of open files is under64000
, MongoDB generates a startup warning.
Procedure
Follow these steps to run MongoDB Enterprise 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 be 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 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.
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 which is accessible from the remote clients.
This value can be configured either:
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 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.