MongoDB Installation
This chapter details how to install and configure MongoDB on different operating systems, including both Community and Enterprise editions.
System Requirements
Minimum Requirements
- Operating System: Windows 10/11, macOS 10.14+, Linux (Ubuntu 18.04+, CentOS 7+)
- Memory: At least 4GB RAM (8GB+ recommended)
- Disk Space: At least 10GB available space
- Processor: 64-bit processor
Windows Installation
Method 1: Using MSI Installer
Download Installer
- Visit MongoDB Download Center
- Select Windows version (MSI format)
- Download the latest stable version
Run Installer
1. Double-click the downloaded .msi file 2. Select "Complete" installation 3. Check "Install MongoD as a Service" 4. Check "Install MongoDB Compass" (optional GUI tool) 5. Click Install to completeConfigure Environment Variables
powershell# Add MongoDB bin directory to PATH C:\Program Files\MongoDB\Server\7.0\bin
Method 2: Using Chocolatey
powershell
# Run PowerShell as Administrator
choco install mongodbmacOS Installation
Method 1: Using Homebrew (Recommended)
bash
# Update Homebrew
brew update
# Install MongoDB
brew tap mongodb/brew
brew install mongodb-community
# Start MongoDB service
brew services start mongodb-community
# Stop service
brew services stop mongodb-communityMethod 2: Manual Installation
bash
# Download and extract
curl -O https://fastdl.mongodb.org/osx/mongodb-macos-x86_64-7.0.tgz
tar -zxvf mongodb-macos-x86_64-7.0.tgz
# Move to /usr/local
sudo mv mongodb-macos-x86_64-7.0 /usr/local/mongodb
# Add to PATH
echo 'export PATH=/usr/local/mongodb/bin:$PATH' >> ~/.zshrc
source ~/.zshrcLinux Installation (Ubuntu/Debian)
bash
# 1. Import public key
wget -qO - https://www.mongodb.org/static/pgp/server-7.0.asc | sudo apt-key add -
# 2. Create list file
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
# 3. Update package list
sudo apt-get update
# 4. Install MongoDB
sudo apt-get install -y mongodb-org
# 5. Start service
sudo systemctl start mongod
# 6. Enable auto-start
sudo systemctl enable mongod
# 7. Check status
sudo systemctl status mongodLinux Installation (CentOS/RHEL)
bash
# 1. Create repository file
sudo vi /etc/yum.repos.d/mongodb-org-7.0.repoAdd the following content:
ini
[mongodb-org-7.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/7.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-7.0.ascbash
# 2. Install MongoDB
sudo yum install -y mongodb-org
# 3. Start service
sudo systemctl start mongod
# 4. Enable auto-start
sudo systemctl enable mongodDocker Installation
bash
# Pull official image
docker pull mongo:7.0
# Run container
docker run -d \
--name mongodb \
-p 27017:27017 \
-v mongodb_data:/data/db \
-e MONGO_INITDB_ROOT_USERNAME=admin \
-e MONGO_INITDB_ROOT_PASSWORD=password \
mongo:7.0
# Enter container
docker exec -it mongodb mongoshVerify Installation
Check Version
bash
mongod --versionStart MongoDB Shell
bash
mongoshBasic Command Test
javascript
// Show all databases
show dbs
// Switch to test database
use test
// Insert test data
db.users.insertOne({ name: "John", age: 25 })
// Query data
db.users.find()
// Exit
exitConfiguration File
Configuration File Locations
- Windows:
C:\Program Files\MongoDB\Server\7.0\bin\mongod.cfg - Linux/macOS:
/etc/mongod.conf
Common Configuration Options
yaml
# Storage configuration
storage:
dbPath: /var/lib/mongodb
journal:
enabled: true
# Network configuration
net:
port: 27017
bindIp: 127.0.0.1 # Change to 0.0.0.0 for remote access
# Security configuration
security:
authorization: enabled # Enable authentication
# Logging configuration
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
# Process management
processManagement:
fork: true
pidFilePath: /var/run/mongodb/mongod.pidCommon Issues
1. Port Already in Use
bash
# Find process using port 27017
sudo lsof -i :27017
# Or change MongoDB port
# Modify net.port in configuration file2. Permission Issues (Linux)
bash
# Fix data directory permissions
sudo chown -R mongodb:mongodb /var/lib/mongodb
sudo chown -R mongodb:mongodb /var/log/mongodb3. Connection Refused
bash
# Check firewall settings
sudo ufw allow 27017
# Check MongoDB service status
sudo systemctl status mongodInstalling MongoDB Compass (GUI Tool)
MongoDB Compass is the official GUI tool that supports visual querying, index management, data import/export, and more.
Download and Install
- Visit MongoDB Compass Download
- Download the installer for your system
- Follow the wizard to complete installation
Connect to Database
- Open Compass
- Enter connection string:
mongodb://localhost:27017 - Click Connect
Summary
This chapter covered multiple MongoDB installation methods:
- Windows: MSI installer or Chocolatey
- macOS: Homebrew or manual installation
- Linux: Package manager installation
- Docker: Containerized deployment
Choose the installation method suitable for your environment and complete MongoDB installation and basic configuration.
In the next chapter, we will learn about MongoDB Concepts.