Distros

Install MongoDB on Rocky Linux 8

This article will walk you through installing MongoDB on Rocky Linux 8. MongoDB is a popular NoSQL document-oriented database system developed by MongoDB Inc. that is free to use, open source, and cross-platform. MongoDB is a document database that is meant to be simple to create and scale.

What is MongoDB ?

MongoDB is written in C++ for massive scalability and flexibility which offers easy querying and indexing for developers. It also provides an aggregation framework that makes it easier to query complex document-based data sets.

MongoDB has a rich and vibrant community and offers rich and powerful in-built features which include MapReduce, auto sharding among others.

MongoDB runs on all major operating system platforms such as Linux, Windows, Solaris and Mac OS X. It also supports many distributions like Red Hat Enterprise Linux (RHEL), CentOS, Ubuntu etc.

This tutorial will cover how to install MongoDB NoSQL database on Rocky Linux 8.

What is Rocky Linux ?

Rocky Linux is a community enterprise operating system designed to be 100% bug-for-bug compatible with America's top enterprise Linux distribution now that its downstream partner has shifted direction. It is under intensive development by the community. Rocky Linux is led by Gregory Kurtzer, founder of the CentOS project. Contributors are asked to reach out using the communication options offered on this site.

Prerequisites

  • A fresh server running Rocky Linux 8 with a minimum of 10 GB of free disk space
  • A non-root user with sudo privileges configured on the server

Update the System

Login to the system using root or sudo user depending on your privilege configuration, and update the system using the following command.

sudo dnf update -y

Installing MongoDB

The MongoDB package is not included in the default repositories for Rocky Linux 8 because it is not considered part of the "base" system. Thus, you need to add the repository containing the package before installing MongoDB.

MongoDB comes in two editions the community edition and the enterprise edition. The community edition is free while the enterprise edition offers additional features. This guide is for the community edition.

Run the following command to add the MongoDB Repository on your system.

cat > /etc/yum.repos.d/mongodb.repo << 'EOL'
[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
EOL

Once the repository is enabled, run the following command to install the mongoDB community edition.

sudo dnf update
sudo dnf install mongodb-org
install mongodb

Once the installation is complete, verify the version installed as follows.

mongod --version

The MongoDB service doesn't start automatically after installation. You can verify this by running the command as follows.

sudo systemctl status mongod

The output should be similar to that below:

Since the service has not started, start it manually by running the following command.

sudo systemctl start mongodb

To enable MongoDB to automatically start on boot time, run the following command.

sudo systemctl enable mongodb

At this point, MongoDB has been installed and configured on the server. Verify the status of MongoDB service as follows.

sudo systemctl status mongod

Running MongoDB

The MongoDB service runs as a daemon mongod. The mongod process runs in the background as a non-root user. MongoDB uses /var/lib/mongo as the default data directory, and /var/log/mongodb for logging information.

You can check the log file for any errors if you suspect MongoDB is not running correctly.

tail /var/log/mongodb/mongod.log

You should be able to see a line indicating that MongoDB is ready and waiting for connections.

MongoDB provides a shell interface that allows you to interact with the data directly.Advertisement

To access MongoDB shell, run the following command from any terminal session on the server.

mongo

From the shell interface, you can run the command below to show the databases currently present on your system. By default, MongoDB provides a database called test.

db

Create a new database

To create a new MongoDB database, switch 0to the new database using the use command with the name of your new database. We will create a database called test-db

use test-db

To insert data into your new database, run the following command from any terminal session on the server. The following command creates a collection of documents (data structure in MongoDB).

db.linux.insertOne(
  { "ubuntu" : "20.04",
   "centos" : "8",
   "debian" : "10"
  }
)

Hit Enter to insert the data.

To show documents in your database

show collections

To show the contents of your database collection, run the following command

db.linux.find()

Creating a User

We will create a use call admin with read/write privileges.

db.createUser(
  {
   user: 'admin ',
   pwd: '[email protected]',
   roles: [ { role: 'readWrite', db: 'test-db' } ]
  }
 );

Hit Enter to add the new user

List all users

db.getUsers()

To exit the MongoDB database

exit

Conclusion

In this guide, we have installed and configured MongoDB on Rocky Linux 8. We also discussed how to install MongoDB using dnf command, starting, stopping, enabling, and checking the status of the MongoDB service as well as using the Mongo Shell interface to run commands to interact with a MongoDB database. We hope you found this guide is useful.