MongoDB: How to reset root password on Ubuntu

Updated: February 3, 2024 By: Guest Contributor Post a comment

Introduction

Securing your MongoDB database is paramount, especially when dealing with sensitive or valuable information. Occasionally, you might find yourself in a situation where you need to reset the root password for MongoDB on an Ubuntu server. This could be due to forgetting the password, inheriting a project without proper documentation, or other security reasons. This tutorial will guide you through the steps required to reset the root password for MongoDB on an Ubuntu system, ensuring that you can regain access to your database with minimal downtime.

Pre-Requisites

  • An Ubuntu Server with MongoDB installed
  • Terminal access with sudo privileges
  • A basic understanding of MongoDB and its command-line interface

Step-by-Step Instructions

Step 1: Stop the MongoDB Service

Before making any changes, it’s necessary to stop the MongoDB service to prevent any data loss or corruption. Open your terminal and execute the following command:

sudo systemctl stop mongod

This command will stop the MongoDB service, allowing you to make the necessary password changes without the service running in the background.

Step 2: Start MongoDB without Access Control

Next, you’ll need to start MongoDB without enabling access control, which will allow you to access the database without needing a password. Use the following command to start MongoDB in this mode:

mongod --port 27017 --dbpath /var/lib/mongodb --auth --setParameter enableLocalhostAuthBypass=0

Make sure to replace “/var/lib/mongodb” with your MongoDB database path if it’s different.

Step 3: Connect to the MongoDB Shell

With MongoDB running without access control, you can now connect to the MongoDB shell without a password. Open a new terminal window and enter:

mongo

This command connects you to the MongoDB shell from where you can execute MongoDB commands.

Step 4: Switch to admin Database

Once in the MongoDB shell, switch to the admin database using the following command:

use admin

Step 5: Reset the Root Password

With access to the admin database, you can now reset the root user’s password. If the root user doesn’t exist, you’ll first need to create it. Otherwise, you can update the existing root user’s password with the following command:

db.changeUserPassword("root", "new_password")

Replace “new_password” with your desired password. Ensure it’s strong and secure to prevent unauthorized access.

Step 6: Restart MongoDB with Access Control

After resetting the password, exit the MongoDB shell by typing:

exit

Now, you need to restart MongoDB with access control enabled to apply the changes. Execute the following command:

sudo systemctl start mongod

The MongoDB service will now restart with access control enabled, and you will be required to use the new root password to access the database.

Conclusion

By following these steps, you’ve successfully reset the root password for MongoDB on your Ubuntu server. It’s crucial to safeguard your MongoDB installation with a strong password and regular security practices to avoid unauthorized access. Additionally, consider implementing more advanced security measures such as encryption and network isolation to further secure your MongoDB databases.

Remember, managing databases comes with the responsibility of ensuring their security and integrity. Hence, always take appropriate measures to protect your data from both internal and external threats. This guide provides a fundamental approach to resetting your MongoDB root password but exploring MongoDB’s extensive security features can help you leverage its full potential securely.