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.
- 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
PATH
variable, such as/usr/local/bin
(Update/path/to/the/mongodb-directory/
with your installationdirectory as appropriate)
- 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):
- 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:
- 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:
- 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:
- sudo chown my_mongodb_user /usr/local/var/mongodb
- 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 logpath
from above, and the fork
parameter to run mongod
in 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:
- 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:
- 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:
- 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:
- 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 mongo
shell, 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.