MongoDB Nedir? Nasıl Kurulur?
MongoDB, verileri JSON formatında veritabanında saklayan NOSQL veritabanı tiplerinden birisidir. MongoDB Inc. tarafından C++ diliyle yazılmış döküman tabanlı ve ölçeklenebilen bir veritabanıdır.
Özellikleri
- Geliştirme ve Ölçeklenebilme kolaylığı sağlar
- Dinamik Şemalıdır
- Dosya sistemi olarak kullanılabilir (GridFS)
- Replikasyon ve Shardlama il yüksek erişilebilirlik sağlar.
Bu özellikler gibi daha bir çok özelliğini de kullandıkça görmekteyiz.
MongoDB’yi Cloud ve OnPrem olarak iki başlık altında ele alabiliriz. Cloud için MongoDB Atlas , On-Prem için Community Edition ve Enterprise Edition versiyonları mevcuttur. Ayrıca Mobil uygulamalarda kullanılması amacıyla Realm isminde bir veritabanı çözümü de mevcuttur.
MongoDB Kurulumu
Anlatacağım kurulum için Mongodb Community Edition 5.0 ve CentOS Linux 7 64bit kullanacağım.
- Paket Yönetim Sisteminin Ayarlanması
Yum ile yüklemek istenilen versiyonun repo’su aşağıdaki komut ile oluşturulur ve repo ile ilgili kısım oluşturulan dosya içerisine eklenir. Böylede mongodb direk yum komutuyla yüklenebilir olacaktır.
# vi /etc/yum.repos.d/mongodb-org-5.0.repo[mongodb-org-5.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/5.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-5.0.asc
- MongoDB’nin paketlerinin yüklenmesi
Aşağıdaki komut ile MongoDB’nin en son kararlı versiyonu yüklenir.
# sudo yum install -y mongodb-org
Spesifik bir versiyon veya paket yüklenmek istenirse aşağıdaki şekilde göstererek yüklenebilir.
# sudo yum install -y mongodb-org-5.0.5 mongodb-org-database-5.0.5
- MongoDB Servisinin Başlatılması
Kurulum tamamlandıktan sonra MongoDB’nin servisi başlatılır.
# sudo systemctl start mongod
Sunucu her reboot olduğunda MongoDB servisinin otomatik başlaması isteniyorsa aşağıdaki aşağıdaki komut ile sağlanabilir.
# sudo systemctl enable mongod
Servisin durumunu görmek için aşağıdaki komut kullanılır. Bu sayede servisin ayakta olup olmadığı görülebilir.
# sudo systemctl status mongod
- MongoDB Servisinin Durdurulması
İhtiyaç halinde MongoDB’nin servisi aşağıdaki komut ile durdurulabilir.
# sudo systemctl stop mongod
- MongoDB Servisinin Restart Edilmesi
# sudo systemctl restart mongod
MongoDB kurulum işlemleri tamamlandıktan sonra bağlanmak için aşağıdaki komut kullanılır.
# mongo
MongoDB kurulumu sırasında database ve log dosyalarının lokasyonları bir şey belirtilmezse default olarak belirlenir. Default olan pathler aşağıdaki şekildedir.
Data Dosyaları: /var/lib/mongo
Log Dosyaları : /var/log/mongodb
Bu pathlerin değiştirilmesi için /etc/mongo.conf dosyası içerisinde değişiklik yapılması gerekir. Bu konuya başka bir yazımda değineceğim.
MongoDB’nin Kaldırılması
MongoDB’nin sistemden tamamen kaldırılması için yüklenilen paketlerin kaldırılması, konfigurasyon dosyalarının kaldırılması ve data ve log fileların hepsinin kaldırılması gerekmektedir.
- Servisin Durdurulması
MongoDB’nin kaldırılması için öncelikle servisi durdurmak gerekir. Aşağıdaki komut ile MongoDB servisi durdurulur.
# sudo service mongod stop
- Paketlerin Kaldırılması
MongoDB kurulum sırasında MongoDB’ye ait ve onunla ilişkili olarak kurulan bütün paketler aşağıdaki komut ile kaldırılır.
# sudo yum erase $(rpm -qa | grep mongodb-org)
- Data ve Log Dosyalarının Kaldırılması
MongoDB’ye ait database ve log dosyaları aşağıdaki komut ile silinir.
# sudo rm -r /var/log/mongodb
# sudo rm -r /var/lib/mongo
Faydalı olması dileğiyle.