MongoDB Community'yi Windows'a kurmanın üç yolu vardır: grafik MSI kurulum sihirbazı, komut satırından sessiz kurulum yapan msiexec.exe ve elle yönetilen zip arşivi. Çoğu kullanıcı için en kolayı sihirbazdır: .msi dosyasını indirip çalıştırır, "Complete" kurulumu seçer ve "Install MongoD as a Service" kutusunu işaretli bırakırsınız; kurulum bitince MongoDB bir Windows servisi olarak çalışmaya başlar. MongoDB Shell (mongosh) ise sunucuyla birlikte gelmez, ayrıca kurulur.

Bu yazıda MongoDB 9.0 için üç yöntemi, servisi net ve sc komutlarıyla yönetmeyi, mongosh kurulumunu ve Windows Güvenlik Duvarı ayarını belgelerdeki komutlarla anlatıyoruz. Linux sunucu kullanıyorsanız Ubuntu kurulumu yazısı daha uygun olur. Tüm konuların sırası için MongoDB öğrenme rehberine bakabilirsiniz.

Desteklenen Windows sürümleri ve ön koşullar

Desteklenen Windows sürümleri ve ön koşullar: WSL desteklenmez, VirtualBox ve Hyper-V, FTDC izinleri

MongoDB 9.0 Community, x86_64 mimarisinde aşağıdaki 64 bit Windows sürümlerini destekler: Windows Server 2022 ve Windows 11. MongoDB bu platformların yalnızca 64 bit sürümlerini destekler. Ayrıca dikkat edilmesi gereken üç nokta vardır:

  • WSL desteklenmez: MongoDB, Windows Subsystem for Linux üzerinde desteklenmez. Linux üzerinde çalıştırmak istiyorsanız desteklenen bir Linux sistemi kullanın.
  • VirtualBox ve Hyper-V: Hyper-V açıkken VirtualBox desteği deneyseldir ve Microsoft bu birleşimi desteklemez. MongoDB'yi VirtualBox içindeki Windows'a kuracaksanız Hyper-V'yi kapatın.
  • FTDC izinleri: MongoDB sorun gidermeye yardımcı olmak için sürekli tanılama verisi (Full Time Diagnostic Data Capture) kaydeder. Windows'ta disk, CPU ve bellek verilerini toplayabilmesi için mongod'u çalıştıran kullanıcı yönetici değilse "Performance Monitor Users" ve "Performance Log Users" gruplarına eklenmelidir.

Hangi kurulum yöntemini seçmelisiniz?

YöntemNe zaman uygunServis kaydı
MSI sihirbazıTek makineye etkileşimli kurulumSihirbaz sırasında seçilir, otomatik
msiexec.exeBetikle, gözetimsiz kurulumADDLOCAL ile ServerService bileşeni
zip arşiviKurulum yapmadan, istediğiniz klasörde çalıştırmaElle --install ile kaydedilir

Yöntem 1: MSI kurulum sihirbazı

MongoDB Download Center sayfasında Version listesinden sürümü, Platform listesinden Windows, Package listesinden msi seçeneğini seçip indirin. İndirilen dosya varsayılan olarak Downloads klasörüne iner; çift tıklayarak sihirbazı başlatın. Sihirbaz şu adımlardan geçer:

  • Choose Setup Type: Complete (çoğu kullanıcı için önerilen) MongoDB'yi ve araçlarını varsayılan konuma kurar. Custom hangi programların nereye kurulacağını seçmenizi sağlar.
  • Service Configuration: MongoDB'yi kurulum sırasında Windows servisi olarak yapılandırabilir ya da yalnızca programları kurabilirsiniz. Servis için "Install MongoD as a Service" seçilir.
  • Servis hesabı: Varsayılan seçenek, Windows'un yerleşik hesabı olan "Run the service as Network Service user"dır. Yerel bir kullanıcı için Account Domain alanına nokta (.) yazılır, ardından hesap adı ve parolası girilir; etki alanı kullanıcısı için etki alanı adı, hesap adı ve parola verilir.
  • Service Name: Varsayılan servis adı MongoDB'dir. Bu adla bir servis zaten varsa başka bir ad seçmeniz gerekir.
  • Data Directory ve Log Directory: Bunlar --dbpath ve --logpath seçeneklerine karşılık gelir. Dizin yoksa kurulum programı oluşturur ve servis kullanıcısına erişim izni verir.
  • Install MongoDB Compass: İsteğe bağlıdır ve varsayılan olarak seçilidir.

Kurulum, programların yanında varsayılan yapılandırma dosyası <kurulum dizini>\bin\mongod.cfg dosyasını da oluşturur. Servis olarak kurduysanız MongoDB kurulum biter bitmez başlar ve sistem açılışında da başlar. Ayarları değiştirmek için servisi durdurun, mongod.cfg dosyasını düzenleyin ve servisi yeniden başlatın.

Yöntem 2: msiexec.exe ile gözetimsiz kurulum

Aynı .msi dosyasını komut satırından kurabilirsiniz. Komut istemini (cmd.exe) yönetici olarak açın, .msi dosyasının bulunduğu klasöre geçin ve dosya adını indirdiğiniz dosyayla değiştirerek çalıştırın:

bat
msiexec.exe /l*v mdbinstall.log  /qb /i mongodb-windows-x86_64-<sürüm>-signed.msi

Bu komut tüm MongoDB programlarını (Compass dahil) varsayılan dizin olan C:\Program Files\MongoDB\Server\9.0\bin altına kurar ve ayrıntılı kurulum günlüğünü mdbinstall.log dosyasına yazar. Farklı bir konum için INSTALLLOCATION değerini, Compass'ı kurmamak için SHOULD_INSTALL_COMPASS="0" değerini ekleyin:

bat
msiexec.exe /l*v mdbinstall.log  /qb /i mongodb-windows-x86_64-<sürüm>-signed.msi ^
            INSTALLLOCATION="C:\MongoDB\Server\9.0\" ^
            SHOULD_INSTALL_COMPASS="0"

Yalnızca belirli bileşenleri kurmak için ADDLOCAL değişkenine virgülle ayrılmış bileşen kümeleri verilir:

Bileşen kümesiİçerdiği programlar
ServerNoServicemongod.exe
ServerServicemongod.exe programını Windows servisi olarak kurar
Routermongos.exe
MonitoringToolsmongostat.exe, mongotop.exe
ImportExportToolsmongodump.exe, mongorestore.exe, mongoexport.exe, mongoimport.exe
MiscellaneousToolsmongodecrypt.exe, mongokerberos.exe, mongoldap.exe

Yöntem 3: zip arşivinden kurulum

Download Center'da Platform olarak Windows x64, Package olarak zip seçip arşivi indirin ve istediğiniz bir konuma, örneğin C:\MongoDB klasörüne çıkarın. Bu yöntemde yapılandırma dosyasını ve dizinleri sizin oluşturmanız gerekir. MongoDB varsayılan olarak C:\data\db veri dizinini kullanır:

bat
mkdir c:\data\db

Yapılandırma dosyası isteğe bağlıdır ama uzun süre çalışacak veya hep aynı seçeneklerle açılacak bir sunucu için belgeler dosya kullanmayı önerir. Dosyayı arşivi çıkardığınız dizindeki bin klasörüne mongod.cfg adıyla kaydedin. Örnek:

yaml
storage:
   dbPath: C:\data\db
systemLog:
   destination: file
   path: C:\data\log\mongod.log
   logAppend: true
net:
   port: 27017
   bindIp: 127.0.0.1

Dosyada bir günlük yolu belirttiyseniz o dizini de (C:\data\log) aynı şekilde oluşturun. Servisi çalıştıran kullanıcının yapılandırma dosyasını okuma, dbPath ve systemLog.path dizinlerine ise okuma ve yazma izni olmalıdır. Ayarların anlamı mongod.conf yapılandırma yazısında anlatılıyor; Windows'ta dosyanın adı mongod.cfg olsa da biçim aynı YAML'dır.

MongoDB'yi Windows servisi olarak yönetmek

MongoDB'yi Windows servisi olarak yönetmek: Başlatma, Durumu görme, Durdurma, Yeniden başlatma

MSI kurulumu servisi sizin için kaydeder. Zip arşivinden kurduysanız servisi net komutuyla yönetebilmek için önce --install seçeneğiyle kaydetmeniz gerekir. --config ile verdiğiniz dosya, servisin her açılışta okuyacağı dosyadır ve kayıt yalnızca bir kez yapılır:

bat
"C:\MongoDB\bin\mongod.exe" --config "C:\MongoDB\bin\mongod.cfg" --install

Bu komutlar yükseltilmiş yetki ister; komut istemini yönetici olarak açın. Varsayılan olarak servis yerel sistem hesabıyla çalışır; belirli bir kullanıcıyla çalıştırmak için kaydı --serviceUser ve --servicePassword seçenekleriyle yapın. Bu kullanıcının "Log on as a service" ayrıcalığına sahip olması gerekir. Günlük kullanımdaki komutlar:

bat
net start MongoDB
sc query MongoDB
net stop MongoDB
sc delete MongoDB

sc query MongoDB çıktısındaki STATE alanı servis çalışıyorsa RUNNING, çalışmıyorsa STOPPED gösterir. sc delete MongoDB servis kaydını kaldırır; bunu servisi durdurduktan sonra çalıştırın. Aynı işlemleri Services (Hizmetler) konsolunda MongoDB servisine sağ tıklayarak Start, Stop, Pause veya Restart ile de yapabilirsiniz.

İşlemnet/sc komutuServices konsolu
Başlatmanet start MongoDBSağ tık, Start
Durumu görmesc query MongoDBStatus sütununda Running
Durdurmanet stop MongoDBSağ tık, Stop veya Pause
Yeniden başlatmanet stop MongoDB ardından net start MongoDBSağ tık, Restart
Kaydı silmesc delete MongoDB (önce durdurun)Yok

Servis hesabı ve dizin izinleri

İki kurulum yolunda varsayılan hesap farklıdır ve bu fark izin sorunlarının kaynağını anlamanıza yardım eder. MSI sihirbazında servis için varsayılan seçim Network Service kullanıcısıdır ve sihirbaz, oluşturduğu veri ve günlük dizinlerinde bu kullanıcıya erişim verir. --install ile elle kayıt yaptığınızda ise servis varsayılan olarak yerel sistem hesabıyla çalışır. Hangi hesabı seçerseniz seçin kural aynıdır: hesap, yapılandırma dosyasını okuyabilmeli, veri ve günlük dizinlerine yazabilmelidir. Veri dizinini sonradan başka bir sürücüye taşırsanız yeni dizinde de bu izinleri vermeniz gerekir; izin sorunu yaşadığınızda ayrıntıyı günlük dosyasında arayın. Günlük dosyası, --logpath veya systemLog.path ile belirttiğiniz yoldur ve çalışan sürecin durumunu görmek için de bu dosyaya bakabilirsiniz.

Servis olmadan, komut isteminden çalıştırma

Yalnızca programları kurduysanız veya kısa bir test yapacaksanız mongod.exe'yi doğrudan çalıştırabilirsiniz. Komut istemini yönetici olarak açın. Varsayılan veri dizini, MongoDB'yi başlattığınız sürücüdeki \data\db mutlak yoludur:

bat
cd C:\
md "\data\db"
"C:\Program Files\MongoDB\Server\9.0\bin\mongod.exe" --dbpath="c:\data\db"

Sunucu düzgün açıldığında komut isteminde [initandlisten] waiting for connections satırı görünür. Bu komut mongod.exe'yi ön planda çalıştırır; --fork seçeneği Windows'ta desteklenmez. Windows Defender Güvenlik Duvarı ayarlarınıza göre mongod.exe'nin ağ iletişimi için bir Security Alert penceresi açılabilir; belgeler bu durumda "Private Networks" seçeneğini işaretleyip "Allow access" demenizi anlatır.

Ön planda çalışan sunucuyu kapatmak için komut isteminde Ctrl + C tuşlarına basabilir ya da mongosh ile admin veritabanında db.shutdownServer() çalıştırabilirsiniz. --shutdown seçeneği yalnızca Linux'ta vardır:

bat
mongosh admin --quiet --eval "db.shutdownServer()"

mongosh'u kurmak ve bağlanmak

.msi kurulum programı mongosh içermez. mongosh indirme sayfasında Platform olarak "Windows 64-bit (10+) (MSI)" seçip indirin, kurulum dosyasını çift tıklayıp yönergeleri izleyin. mongosh, Windows 10 ve üzeri ile Windows Server 2016 ve üzeri sürümlerde kurulabilir. Kurulum sırasında mongosh.exe yolunu PATH ortam değişkenine eklemeyi unutmayın. Kurulumu yeni bir komut isteminde doğrulayın:

bat
mongosh --version

Komut kurulu mongosh sürümünü yazar. Ardından yeni bir komut isteminde mongosh.exe yazarak yerel sunucuya bağlanabilirsiniz. Çalışan sunucunun bilgilerini tek satırda görmek için:

bat
mongosh --quiet --eval "db.runCommand( { serverStatus: 1, none: 1, mem: 1 } )"

Windows'ta mongosh tercihleri ve yapılandırma seçenekleri %APPDATA%/mongodb/mongosh dizininde saklanır. Kabuğun kendisi mongosh kullanımı yazısında ayrıntılı olarak anlatılıyor. Sunucu programlarını her seferinde tam yoluyla yazmamak için C:\Program Files\MongoDB\Server\9.0\bin dizinini sistem PATH değişkenine ekleyebilirsiniz.

Güvenlik duvarı ve uzak bağlantılar

Kurulumda bindIp değeri 127.0.0.1 olduğu için sunucu yalnızca aynı makineden gelen bağlantıları kabul eder. Uzak bağlantıya izin vermek için bindIp değerine özel veya iç ağ arayüzünü ekleyin; herkese açık bir adrese bağlamadan önce mutlaka kimlik doğrulamayı açın ve güvenlik kontrol listesini uygulayın.

Windows Güvenlik Duvarı varsayılan olarak tüm giden bağlantılara izin verir, gelen bağlantıları engeller. Belgeler, yalnızca uygulama ile mongod.exe arasındaki gerekli trafiğe izin veren kurallar yazmanızı önerir. 27017 portuna gelen TCP trafiğine izin veren temel kural:

bat
netsh advfirewall firewall add rule name="Open mongod port 27017" dir=in action=allow protocol=TCP localport=27017

Güncelleme ve kaldırma

MSI ile kurduysanız .msi paketi kendi sürüm serisi içinde (örneğin 9.0.x yama sürümleri arasında) otomatik olarak yükseltme yapar. Bir sürüm serisinden diğerine geçmek ise yeni bir kurulum gerektirir. Yükseltmeden önce verinizin yedeğini alın (mongodump ve mongorestore) ve sürüm değişikliklerini MongoDB 9.0 yenilikler yazısında kontrol edin. Servisi kaldırmak için önce servisi durdurun, ardından yönetici komut isteminde sc.exe delete MongoDB çalıştırın.

Sık yapılan hatalar

Sık yapılan hatalar: mongosh'un sunucuyla geldiğini sanmak, Komut istemini yönetici olmadan açmak, Veri dizinini oluşturmamak, Aynı servis adını ikinci kez kullanmak
  • mongosh'un sunucuyla geldiğini sanmak: Sunucu kurulumu mongosh içermez; ayrıca kurulmalıdır.
  • Komut istemini yönetici olmadan açmak: Servis kaydı, msiexec kurulumu ve servis yönetimi yükseltilmiş yetki ister.
  • Veri dizinini oluşturmamak: Zip kurulumunda C:\data\db veya yapılandırmada belirttiğiniz dizin mutlaka önceden oluşturulmalıdır; belgeler süreci başlatmadan önce veri dizininin var olduğundan emin olmanızı ister.
  • Aynı servis adını ikinci kez kullanmak: MongoDB adında bir servis varken aynı adla kayıt yapılamaz; başka bir ad seçin veya eski kaydı silin.
  • WSL içinde kurmaya çalışmak: WSL desteklenmez; Linux için gerçek bir Linux sistemi kullanın.
  • Güvenlik duvarında portu herkese açmak: Kuralı adreslerle sınırlandırın, önce kimlik doğrulamayı açın.

Sık Sorulan Sorular

Yapılandırma dosyası Windows'ta nerede?

MSI ile kurduysanız <kurulum dizini>\bin\mongod.cfg, varsayılan kurulumda C:\Program Files\MongoDB\Server\9.0\bin\mongod.cfg konumundadır. Zip ile kurduysanız dosyayı kendiniz oluşturursunuz.

Windows 10 üzerinde MongoDB 9.0 sunucusu çalışır mı?

Belgelerdeki destek listesi MongoDB 9.0 Community için Windows Server 2022 ve Windows 11'i sayar. Windows 10, sunucu için değil mongosh için desteklenenler arasında yer alır. Kullandığınız sürüm listede yoksa desteklenen bir platform seçin.

Servisin hangi seçeneklerle çalıştığını nasıl değiştiririm?

Servis, kayıt sırasında verdiğiniz --config dosyasını her açılışta okur. Servisi durdurun, dosyayı düzenleyin ve net start MongoDB ile yeniden başlatın.

Kurulumdan sonra ilk ne yapmalıyım?

mongosh ile bağlanıp birkaç belge ekleyerek denemeler yapın (insertOne ve insertMany), ardından erişim denetimini açın. Uygulamanızın bağlantı adresini oluşturmak için connection string yazısına bakın.

Marka adları sahiplerine aittir. Bu yazı bağımsız bir teknik rehberdir; adı geçen kuruluşlarla bayilik veya ortaklık ilişkisi bulunduğu anlamına gelmez.

İlgili içerikler: MongoDB öğrenme rehberi · MongoDB Ubuntu kurulumu · mongosh kullanımı · mongod.conf yapılandırma · Authentication etkinleştirme