Install and Set Up MongoDB on CentOS

Install and Set Up MongoDB on CentOS involves adding the official MongoDB repository, installing the mongodb-org package, and starting the service. This enables efficient management of flexible NoSQL databases on CentOS servers.

🤖AI Overview:

Install and Set Up MongoDB on CentOS involves configuring the official MongoDB repository, installing the latest mongodb-org package, and enabling the MongoDB service on startup. MongoDB is a NoSQL database using JSON-like documents and supports flexible data schemas. Secure setup includes enabling authorization and creating an administrative user for controlled access.

Prerequisites to Install MongoDB on CentOS

To let this tutorial works correctly, provide the options below and move on.

  • A system running Linux VPS.
  • A non-root user with sudo privileges.

Tutorial Install and Set up MongoDB on CentOS

Previously, you got familiar with MongoDB as a popular DBMS in Database Management Systems article. MongoDB is highly available, horizontally scaled, and easy to use as a distributed database. Developers can learn and use the document model of MongoDB easily since it provides all the capabilities needed to meet the most complex requirements at any scale. With indexing, ad hoc queries, and real-time aggregation, MongoDB enables you to access and analyze your data in powerful ways.

Let’s go through the steps of this guide to learn how to install and configure MongoDB on your CentOS server.

Step1. Enable MongoDB Repository

Since the official MongoDB package is not available in the standard CentOS repositories, you need to add the MongoDB repository first. To do this, open your preferred text editor to create a new YUM repository file. Here, we use vim to create a configuration ”mongodb-org.repo” file inside the /etc/yum.repos.d/ directory.

sudo vi /etc/yum.repos.d/mongodb-org.repo

Then, add the following information to the file you have just created.

/etc/yum.repos.d/mongodb-org.repo

[mongodb-org-6.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/6.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc

Obviously, you must replace your considered version of MongoDB if you prefer to install an older version of MongoDB. Finally, press the ESC key and type :wq, and hit ENTER to save the recent changes to the file.

Use the following command to check if the MongoDB repository exists within the yum tool and view the list of enabled repositories.

yum repolist

Step 2. Install MongoDB

In the previous step, you enabled the repository. So, you are ready to install the mongodb-org meta-package. Before that, you are recommended to update your packages.

sudo yum -y update

Now, run the command below to install MongoDB on CentOS using the yum utility:

sudo yum install mongodb-org

During the installation, you will view two prompts that you should choose [y/n]. The first prompt lets the MongoDB packages be installed and the second prompt imports a GPG key. On both of them, type y and then hit the ENTER key.

In this way, the mongodb-org-server, mongodb-org-mongos, mongodb-org-shell, and mongodb-org-tools, will be installed as a part of the mongodb-org package.

Step 3. Enable MongoDB Start on Boot

When you are done with the installation procedure, use the commands below to start the MongoDB service.

sudo systemctl start mongod
sudo systemctl enable mongod

You can also use some commands to change the state of the MongoDB service. For example, the following command requests that the mongod process reads the confirmation file /etc/mongod.conf. In this way, changes will be applied with no need to restart.

sudo systemctl reload mongod

To stop all running mongod processes run:

sudo systemctl stop mongod

Step 4. Verify Installation and start Using MongoDB

It makes sense to verify the installation. To do this, connect to the MongoDB database server to view the server version using the mongoutility.

mongo

Now that you are inside the MongoDB shell, you can run the following command to view the MongoDB version.

db.version()

If you are concerned about the interaction with MongoDB from the shell, use the command below to have a list of methods for the db object.

db.help()

The output will look like the following:

interaction with MongoDB

Finally, you can quit the shell while the mongod process is being run in the background.

exit

Step 5. Set up MongoDB

Although the default settings of MongoDB are trustable, you can configure your MongoDB. Especially, for production environments, you are recommended to enable authorization and edit the /etc/mongod.conf configuration file which is written in YAML.

/etc/mongod.conf

security:
  authorization: enabled

RBAC which limits users’ access to database resources and actions, is enabled via the authorization option. Each user will have access to every database and be able to perform any operation if this option is disabled. Restart the mongod service after making modifications to the MongoDB configuration file:

sudo systemctl restart mongod

How to Create Administrative MongoDB User

When MongoDB authentication is enabled, you can create one administrative MongoDB user. In this way, you will be able to access and manage your MongoDB instance. As you learned, you can use the command below to access the mongo shell:

mongo

Run the command below after entering the MongoDB shell to connect to the admin database.

use admin

Once the output says that you are switched to db admin, you are ready to create a new user with the userAdminAnyDatabase role which is called mongoAdmin. However, you can name it as you prefer.

db.createUser(
  {
    user: "mongoAdmin", 
    pwd: "changeMe", 
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)

Then, you can exit the MongoDB shell:

quit()

Test the Administrative User

To check the changes you have made recently, use the administrative user to access the mongo shell that you have created in the above part.

mongo -u mongoAdmin -p --authenticationDatabase admin
use admin

You can also see if you can list the users using the same commands by entering the mongo shell directly (simply type mongo).

Again, once you are switched to db admin, print the users with:

show users

The output would be like this:

Test Administrative MongoDB User

How to Uninstall MongoDB & Remove MongoDB Packages

The MongoDB applications themselves, the configuration files, and any directories containing data and logs must all be deleted from a system in order for MongoDB to be fully uninstalled. First, stop the mongod process:

sudo service mongod stop

The below command enables you to remove any MongoDB packages that you had previously installed.

sudo yum erase $(rpm -qa | grep mongodb-org)

Also, you can remove MongoDB databases and log files by running:

sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongo

Conclusion

Installing and setting up MongoDB on CentOS can be straightforward when following the right steps. This guide provided you with a comprehensive yet beginner-friendly walkthrough starting from adding MongoDB repository to securing your database and testing basic functionalities. MongoDB’s adaptability combined with CentOS’s stability forms a robust environment for developing modern applications.

By adhering to security best practices and regular maintenance, you ensure your MongoDB instance remains reliable and performant.

By following this guide to install and set up MongoDB on CentOS, you have now established a powerful database foundation to build scalable and flexible applications. Keep exploring advanced MongoDB features as you grow more comfortable managing your data and server environments.

FAQ

Since yum upgrades the packages when a new version becomes available, pin your considered package by adding the exclude directive to your /etc/yum.conf file.

It is a metapackage that automatically installs the component packages.

You can disable Transparent Huge Pages on your system to increase MongoDB installation performance. On CentOS, it will be disabled through a tuned profile configuration.

Leave a Reply

Your email address will not be published. Required fields are marked.