How to Install MongoDB on Ubuntu 22.04
Updated on
•6 min read

MongoDB is a free and open-source document database. It belongs to the family of NoSQL databases, which differs from the traditional table-based SQL databases like MySQL and PostgreSQL. The data in MongoDB is stored in flexible, JSON-like documents where fields can vary from document to document. It does not require a predefined schema, and the data structure can be changed over time.
Some key features of MongoDB are replication, indexing, user-defined searches, load balancing, and JavaScript execution.
This guide covers the step-by-step process of installing MongoDB on Ubuntu.
Prerequisites
To follow the installation steps, ensure that you execute the commands as a root or user with sudo privileges on a Ubuntu 22.04 or 20.04 instance.
Installing MongoDB on Ubuntu
The standard Ubuntu repositories usually include an outdated MongoDB version. We will install the official MongoDB packages, which are always up to date. The installation of MongoDB on Ubuntu is fairly straightforward. We’ll enable the MongoDB repository, import the repository GPG key, and install the MongoDB packages.
At the time of writing this article, the latest version of MongoDB available from the official MongoDB repositories is version 7.0.
The first step is to install the dependencies necessary to add a new repository . Most likely, you will already have those packages installed on your system, but some packages may be missing:
sudo apt update
sudo apt install gnupg wget apt-transport-https ca-certificates software-properties-common
Next, import the MongoDB repository’s GPG key to your system:
wget -qO- \
https://pgp.mongodb.com/server-7.0.asc | \
gpg --dearmor | \
sudo tee /usr/share/keyrings/mongodb-server-7.0.gpg >/dev/null
Add the MongoDB repository by creating the folowing file:
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] \
https://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/7.0 multiverse" | \
sudo tee -a /etc/apt/sources.list.d/mongodb-org-7.0.list
The $(lsb_release -cs)
part in the command above, prints the Ubuntu codename. For example, if you have Ubuntu version
22.04, the command will print jammy
.
Once the repository is enabled, update the local package index:
sudo apt update
Now you can install MongoDB by typing:
sudo apt install mongodb-org
The mongodb-org
is a meta-package that includes the following packages:
mongodb-org-server
- Themongod
daemon and corresponding init scripts and configurations.mongodb-org-mongos
- Themongos
daemon.mongodb-org-shell
- The mongo shell, an interactive JavaScript interface to MongoDB. It is used to perform administrative tasks thought the command line.mongodb-org-tools
- Contains several MongoDB tools for importing and exporting data, statistics, as well as other utilities.
By default, the MongoDB daemon doesn’t start after the installation. To start the service and enable it on boot execute:
sudo systemctl enable --now mongod
We can verify whether the installation has been successful by connecting to the MongoDB database server using the mongosh
shell tool and printing the connection status:
mongosh --eval 'db.runCommand({ connectionStatus: 1 })'
The output will look something like below:
Current Mongosh Log ID: 655a70dfea9d876644ee6607
Connecting to: mongodb://127.0.0.1:27017/?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+2.0.2
Using MongoDB: 7.0.3
Using Mongosh: 2.0.2
{
authInfo: { authenticatedUsers: [], authenticatedUserRoles: [] },
ok: 1
}
The command returns information about the connection status and authenticated users and their permissions. A value of 1
for the ok
field indicates success.
Configuring MongoDB
The MongoDB configuration file is located in the /etc
directory and is named mongod.conf
. The file uses the YAML
format.
The default configuration settings are sufficient in most cases. However, for production environments, we recommend uncommenting the security section and enabling access control, as shown below:
sudo nano /etc/mongod.conf
security:
authorization: enabled
The authorization
option enables Role-Based Access Control (RBAC)
that regulates users’ access to database resources and operations. If this option is not enabled each user will have access to all databases and perform any action.
Whenever you make changes to the configuration, you need to restart the mongod service for changes to take effect:
sudo systemctl restart mongod
To find more information about the configuration options available in latest MongoDB version, visit the Configuration File Options documentation page.
Creating Administrative MongoDB User
If you enabled the MongoDB authentication, you’ll need to create an administrative user that can access and manage the MongoDB instance.
Access the mongo shell:
mongosh
From inside the MongoDB shell, type the following command to connect to the admin
database:
use admin
switched to db admin
Run the following command to create an administrative user:
db.createUser(
{
user: "myMongoAdmin",
pwd: passwordPrompt(),
roles: [
{ role: "userAdminAnyDatabase", db: "admin" },
{ role: "readWriteAnyDatabase", db: "admin" }
]
}
)
We named the admin use “myMongoAdmin”. Feel free to call it as you like. You can also enter a cleartext password instead of the passwordPrompt()
method, but it is not recommended to display your password on the screen, and it will also be saved to your shell history.
You will be prompted to type the password, type it and press “Enter”. Do not forget to set a secure password:
Enter password
********{ ok: 1 }
“ok: 1” means the command was sucessfully executed.
Once done, exit the mongo shell with:
quit()
To test the changes, access the MongoDB shell using the administrative user you have previously created:
mongo -u myMongoAdmin -p --authenticationDatabase admin
You will be connected to MogoDB shell if you enter the correct password.
Switch to the “admin” database and run show users
to get information about all the users and their roles:
use admin
switched to db admin
show users
In our example, we have only one user:
[
{
_id: 'admin.myMongoAdmin',
userId: new UUID("a00ab5ca-5c1f-4a3b-8f67-be8a79c7649c"),
user: 'myMongoAdmin',
db: 'admin',
roles: [
{ role: 'userAdminAnyDatabase', db: 'admin' },
{ role: 'readWriteAnyDatabase', db: 'admin' }
],
mechanisms: [ 'SCRAM-SHA-1', 'SCRAM-SHA-256' ]
}
]
Conclusion
We’ve shown you how to install and configure MongoDB on Ubuntu 20.04 and 22.04. For more information on this topic, visit the MongoDB Manual .
If you hit a problem or have feedback, leave a comment below.