O'rnatish — Windows, Mac, Linux, Docker bilan
Muammodan boshlaylik
MongoDB o'rnatish — ko'pchilik uchun birinchi to'siq. Rasmiy sayt ko'p versiyalar, ko'p variantlar ko'rsatadi. Qaysi versiyani olish kerak? Community Edition yoki Enterprise? mongosh alohidami? Docker ishlatishim kerakmi?
Ushbu darsda har bir operatsion tizim uchun eng sodda yo'l ko'rsatiladi. Har bir qadam tekshiriladigan natija bilan yakunlanadi.
Qanday versiya tanlash kerak?
MongoDB ikki xil versiyada chiqadi:
Community Edition — bepul, open-source. Shaxsiy loyihalar, o'rganish, startuplar uchun. Biz shu versiyani o'rnatamiz.
Enterprise Edition — pullik, qo'shimcha xususiyatlar: kengaytirilgan monitoring, LDAP autentifikatsiya, shifrlash. Katta korporativ loyihalar uchun.
Versiya raqami haqida: MongoDB juft raqamli versiyalar (6.0, 7.0, 8.0) — production uchun barqaror. Toq raqamli (5.1, 6.1) — rivojlanish versiyasi, production da ishlatilmaydi.
Tavsiya: eng so'nggi barqaror versiya — hozirda MongoDB 8.0.
1. Windows ga o'rnatish
Qadam 1 — Installer yuklab olish
MongoDB rasmiy sahifasidan MSI installer yuklab oling: https://www.mongodb.com/try/download/community
- Version: eng so'nggisi (8.0.x)
- Platform: Windows
- Package: msi
Qadam 2 — O'rnatish
MSI faylni ishga tushiring:
- "Next" bosing
- Setup Type: Complete tanlang
- "Install MongoDB as a Service" — belgilangan qolsin (Windows bu'ni service sifatida avtomatik ishga tushiradi)
- "Install MongoDB Compass" — ixtiyoriy, lekin tavsiya etiladi
- "Install" bosing
Qadam 3 — mongosh o'rnatish
MongoDB 6.0 dan beri mongosh — alohida paket. Yuklab oling:
https://www.mongodb.com/try/download/shell
MSI ni o'rnating. O'rnatish tugagach PATH ga avtomatik qo'shiladi.
Qadam 4 — Tekshirish
# Command Prompt yoki PowerShell da:
mongosh --version
# Natija: 2.x.x
mongod --version
# Natija: db version v8.x.x
Qadam 5 — Service holati
# Service ishlaydimi?
net start MongoDB
# Yoki Services.msc orqali "MongoDB" ni toping
2. macOS ga o'rnatish
macOS da eng qulay yo'l — Homebrew.
Homebrew o'rnatilmaganlar uchun
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Qadam 1 — MongoDB tap qo'shish
brew tap mongodb/brew
Qadam 2 — O'rnatish
brew install mongodb-community
Bu buyruq mongod (server), mongosh (shell) va kerakli toollarni o'rnatadi.
Qadam 3 — Ishga tushirish
# MongoDB ni service sifatida ishga tushirish
brew services start mongodb-community
# Yoki faqat bir marta ishga tushirish (service emas)
mongod --config /usr/local/etc/mongod.conf
Qadam 4 — Tekshirish
mongosh
# Natija: mongosh ga ulanish, > prompt paydo bo'lishi kerak
# Versiyani ko'rish
mongosh --version
To'xtatish va qayta ishga tushirish
brew services stop mongodb-community
brew services restart mongodb-community
3. Linux ga o'rnatish (Ubuntu/Debian)
Qadam 1 — GPG kalit qo'shish
curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | \
sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg --dearmor
Qadam 2 — Repository qo'shish
Ubuntu 22.04 (Jammy) uchun:
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] \
https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/8.0 multiverse" | \
sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list
Ubuntu 24.04 (Noble) uchun jammy o'rniga noble yozing.
Qadam 3 — O'rnatish
sudo apt-get update
sudo apt-get install -y mongodb-org
Qadam 4 — Service ishga tushirish
sudo systemctl start mongod
sudo systemctl enable mongod # ← tizim ishga tushganda avtomatik
# Holat tekshirish
sudo systemctl status mongod
Natija shu ko'rinishda bo'lishi kerak:
● mongod.service - MongoDB Database Server
Active: active (running) since ...
Qadam 5 — Tekshirish
mongosh
# > prompt paydo bo'lishi kerak
4. Docker bilan o'rnatish
Docker — eng tez va "mashinani ifloslantirmaydigan" yo'l. Loyihadan loyihaga o'tganda turli versiyalar bilan ishlash uchun ideal.
Oddiy ishga tushirish
docker run -d \
--name mongodb \
-p 27017:27017 \
mongo:8.0
Bu buyruq nima qiladi:
docker run -d— fon rejimida ishga tushiradi--name mongodb— konteyner nomi-p 27017:27017— port: kompyuter:konteynermongo:8.0— Docker Hub dan rasmiy MongoDB 8.0 image
Ulanish
# Konteyner ichiga kirib mongosh ishlatish
docker exec -it mongodb mongosh
Parol bilan ishga tushirish (tavsiya etiladi)
docker run -d \
--name mongodb \
-p 27017:27017 \
-e MONGO_INITDB_ROOT_USERNAME=admin \
-e MONGO_INITDB_ROOT_PASSWORD=maxfiysoz \
mongo:8.0
# Parol bilan ulanish
docker exec -it mongodb mongosh \
--username admin \
--password maxfiysoz \
--authenticationDatabase admin
docker-compose bilan (loyiha uchun)
Loyihangizda docker-compose.yml fayli:
version: "3.8"
services:
mongodb:
image: mongo:8.0
container_name: mongodb
restart: always
ports:
- "27017:27017"
environment:
MONGO_INITDB_ROOT_USERNAME: admin
MONGO_INITDB_ROOT_PASSWORD: maxfiysoz
volumes:
- mongo_data:/data/db # ← ma'lumotlar saqlanadi
volumes:
mongo_data:
# Ishga tushirish
docker-compose up -d
# To'xtatish
docker-compose down
volumes muhim: uni ko'rsatmasangiz, konteyner to'xtatilganda
barcha ma'lumotlar o'chib ketadi.
O'rnatish tekshiruvi — umumiy
Qaysi usulda o'rnatilgan bo'lmasin, shu buyruqlar ishlashi kerak:
# 1. Versiyani ko'rish
mongosh --version
mongod --version
# 2. MongoDB ga ulanish
mongosh
# 3. mongosh ichida — holat tekshirish
db.runCommand({ ping: 1 })
# Natija: { ok: 1 }
# 4. Test ma'lumot qo'shish
use test
db.salom.insertOne({ xabar: "MongoDB ishlayapti!" })
db.salom.find()
# Natija: { _id: ObjectId("..."), xabar: 'MongoDB ishlayapti!' }
Agar { ok: 1 } kelsa — MongoDB to'g'ri o'rnatilgan va ishlayapti.
Tez-tez uchraydigan xatolar
"mongod: command not found" (Linux/Mac)
mongod PATH ga qo'shilmagan. MongoDB o'rnatilgan joyni topib,
PATH ga qo'shing:
# Mac (Homebrew)
export PATH="/usr/local/opt/mongodb-community/bin:$PATH"
# Yoki ~/.zshrc ga qo'shing
# Linux
which mongod # topilmasa:
sudo ln -s /usr/bin/mongod /usr/local/bin/mongod
"Connection refused" — mongosh ulanolmayapti
MongoDB service ishlamayapti. Ishga tushiring:
# Linux
sudo systemctl start mongod
# Mac
brew services start mongodb-community
# Docker
docker start mongodb
Sabab: Ko'pincha kompyuter qayta ishga tushirilganda service
avtomatik yuklanmaydi, agar enable qilinmagan bo'lsa.
"Permission denied" — /data/db papkasi
MongoDB standart holda ma'lumotlarni /data/db papkasida saqlaydi.
Bu papka yo'q yoki huquq yo'q:
sudo mkdir -p /data/db
sudo chown -R $USER /data/db
Windows da "MongoDB service failed to start"
Ko'pincha port 27017 band. Boshqa dastur shu portni ishlatayapti. Tekshiring:
netstat -ano | findstr :27017
Agar band bo'lsa, o'sha dasturni to'xtating yoki MongoDB
konfiguratsiyasida portni o'zgartiring (mongod.cfg).
Docker da "port is already allocated"
27017 porti band — ehtimol boshqa MongoDB instance ishlayapti:
docker ps -a # barcha konteynerlar
docker stop mongodb # to'xtatish
docker rm mongodb # o'chirish
docker run ... # qayta ishga tushirish
Qaysi usulni tanlash kerak?
| Holat | Tavsiya |
|---|---|
| O'rganish, shaxsiy loyiha | Homebrew (Mac) yoki MSI (Windows) |
| Linux server | apt/yum orqali, systemd service |
| Bir nechta loyiha, turli versiyalar | Docker |
| Jamoa bilan ishlash | Docker Compose — hammada bir xil muhit |
| Production | MongoDB Atlas yoki dedicated server |
Xulosa
- Windows: MSI installer + mongosh alohida
- macOS:
brew install mongodb-community— eng oson - Linux: apt repository + systemd service
- Docker:
docker run mongo:8.0— tez va izolyatsiyalangan - O'rnatish to'g'ri bo'lsa:
mongoshochiladi,{ ok: 1 }qaytadi
Qaysi usulda o'rnatilgan bo'lmasin, keyingi darsdan boshlab
hammamiz bir xil buyruqlardan foydalanamiz — mongosh ichida.
Keyingi dars: 3-dars — MongoDB Compass va mongosh: asosiy ishlatish