- Install MongoDB >
- Install MongoDB Community Edition >
- Install MongoDB Community Edition on Linux >
- Install MongoDB Community Edition on Red Hat Enterprise or CentOS Linux
Install MongoDB Community Edition on Red Hat Enterprise or CentOS Linux¶
On this page
Overview¶
Use this tutorial to install MongoDB Community Edition on Red Hat
Enterprise Linux or CentOS Linux versions 6 and 7 using .rpm
packages.
This installation guide only supports 64-bit systems. See Supported Platforms for more information.
Production Notes
Before deploying MongoDB in a production environment, consider the Production Notes document.
Packages¶
MongoDB provides officially supported packages in their own repository. This repository contains the following packages:
| Package Name | Description |
|---|---|
mongodb-org |
A metapackage that will automatically install
the four component packages listed below. |
mongodb-org-server |
Contains the mongod daemon, associated init
script, and a configuration file (/etc/mongod.conf). You
can use the initialization script to start mongod
with the configuration file. For details, see Run MongoDB
Community Edition. |
mongodb-org-mongos |
Contains the mongos daemon. |
mongodb-org-shell |
Contains the mongo shell. |
mongodb-org-tools |
Contains the following MongoDB tools: mongoimport
bsondump, mongodump, mongoexport,
mongofiles,
mongorestore, mongostat,
and mongotop. |
Install MongoDB Community Edition¶
Note
To install a different version of MongoDB, please refer to that version’s documentation. To install the previous version, see the tutorial for version 3.6.
This installation guide only supports 64-bit systems. See Supported Platforms for more information.
Note
You can also spin up MongoDB on AWS, Azure, or GCP using Atlas, our fully-managed database-as-a-service. Atlas enables you to configure anything from a free sandbox environment to a globally sharded production cluster. Set up a free cluster now.
Using .rpm Packages (Recommended)¶
Configure the package management system (yum).¶
Create a /etc/yum.repos.d/mongodb-org-4.0.repo file so that
you can install MongoDB directly using yum:
Note
You can find .repo files for each release in the repository itself.
Odd-numbered minor release versions (e.g. 3.5) are development
versions and are unsuitable for production use.
Install the MongoDB packages.¶
To install the latest stable version of MongoDB, issue the following command:
To install a specific release of MongoDB, specify each component package individually and append the version number to the package name, as in the following example:
You can specify any available version of MongoDB. However yum
upgrades the packages when a newer version becomes available. To
prevent unintended upgrades, pin the package. To pin a package, add
the following exclude directive to your /etc/yum.conf file:
Using Tarballs¶
Prerequisites¶
MongoDB .tar.gz tarballs require installing the following
dependencies:
Procedure¶
Download the MongoDB .tar.gz tarball.¶
Download the tarball for your system from the MongoDB Download Center.
Extract the files from the downloaded archive.¶
For example, from a system shell, you can extract using the tar command:
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 must either:
- Copy these binaries into a directory listed in your
PATHvariable such as/usr/local/bin, - Create symbolic links to each of these binaries from
a directory listed in your
PATHvariable, or - Modify your user’s
PATHenvironment variable to include this directory.
For example, you can add the following line to your shell’s
initialization script (e.g. ~/.bashrc):
Replace <mongodb-install-directory> with the path to the extracted
MongoDB archive.
Run MongoDB Community Edition¶
Prerequisites¶
- Configure SELinux
Important
If you are using SELinux, you must configure SELinux to allow MongoDB to start on Red Hat Linux-based systems (Red Hat Enterprise Linux or CentOS Linux).
To configure SELinux, administrators have three options:
If SELinux is in
enforcingmode, enable access to the relevant ports that the MongoDB deployment will use (e.g.27017). See Default MongoDB Port for more information on MongoDB’s default ports. For default settings, this can be accomplished by runningDisable SELinux by setting the
SELINUXsetting todisabledin/etc/selinux/config.You must reboot the system for the changes to take effect.
Set SELinux to
permissivemode in/etc/selinux/configby setting theSELINUXsetting topermissive.You must reboot the system for the changes to take effect.
You can instead use
setenforceto change topermissivemode.setenforcedoes not require a reboot but is not persistent.
Alternatively, you can choose not to install the SELinux packages when you are installing your Linux operating system, or choose to remove the relevant packages. This option is the most invasive and is not recommended.
- Directories and Permissions
Warning
On RHEL 7.0, if you change the data path, the default SELinux policies will prevent
mongodfrom having write access on the new data path if you do not change the security context.By default, MongoDB instance stores:
- its data files in
/var/lib/mongo - its log files in
/var/log/mongodb
If you installed via the package manager, the directories are created during the installation.
If you installed manually by downloading the tarballs, you can create the directories using
mkdir -p <directory>orsudo mkdir -p <directory>depending on the user that will run MongoDB. (See your linux man pages for information onmkdirandsudo.)By default, MongoDB runs using the
mongoduser account. If you change the user that runs the MongoDB process, you must also modify the permission to the/var/lib/mongoand/var/log/mongodbdirectories to give this user access to these directories.To specify a different log file directory and data file directory, edit the
systemLog.pathandstorage.dbPathsettings in the/etc/mongod.conf. Ensure that the user running MongoDB has access to these directories.- its data files in
- ulimit
- Most Unix-like operating systems limit the system resources that a session may use. These limits may negatively impact MongoDB operation. See UNIX ulimit Settings for more information.
Procedure¶
Verify that MongoDB has started successfully¶
You can verify that the mongod process has started
successfully by checking the contents of the log file at
/var/log/mongodb/mongod.log
for a line reading
where <port> is the port configured in /etc/mongod.conf, 27017 by default.
You can optionally ensure that MongoDB will start following a system reboot by issuing the following command:
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 default
port 27017:
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.
Uninstall MongoDB Community Edition¶
To completely remove MongoDB from a system, you must remove the MongoDB applications themselves, the configuration files, and any directories containing data and logs. The following section guides you through the necessary steps.
Warning
This process will completely remove MongoDB, its configuration, and all databases. This process is not reversible, so ensure that all of your configuration and data is backed up before proceeding.
Remove Packages.¶
Remove any MongoDB packages that you had previously installed.
Remove Data Directories.¶
Remove MongoDB databases and log files.