MongoDB adalah general-purpose, berbasis dokumen, dan non-SQL database yang ditujukan untuk membangun aplikasi modern di era cloud ini. Database ini sepenuhnya gratis untuk digunakan karena dibangun berdasarkan open source software.
Dalam tutorial ini, kita akan belajar memasang MongoDB di mesin Ubuntu 18.04, membuat new database user, dan menambahkan beberapa data ke dalamnya menggunakan shell MongoDB. Selain itu juga cara menghapus MongoDB jika dirasa sudah tidak diperlukan lagi.
Instal MongoDB
Hal pertama mari kita instal MongoDB. Karena disini saya menggunakan Ubuntu 18.04, menginstal software MongoDB bisa menggunakan repositori default yang disertakan sistem operasi. Buka terminal dan jalankan perintah untuk memastikan daftar paket pada sistem sudah mutakhir:
$sudo apt update
Setelah selesai, instal MongoDB dengan menjalankan perintah ini:
$sudo apt install mongodb
Verifikasi Database.
MongoDB sekarang sudah terinstal dan mestinya harus berjalan secara otomatis di latar belakang menggunakan systemctl. Silahkan gunakan perintah berikut untuk memeriksa statusnya:
$sudo systemctl status mongodb
Jika MongoDB berjalan dan bekerja dengan benar, mestinya akan keluar output yang mirip dengan ini:
Output
● mongodb.service - An object/document-oriented database
Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2020-13-04 12:39:05 CDT; 1 days ago
Docs: man:mongod(1)
Main PID: 871 (mongod)
CGroup: /system.slice/mongodb.service
└─871 /usr/bin/mongod --config /etc/mongodb.conf
Jika output sukses seperti diatas tidak keluar, maka layanan systemctl bisa dimulai secara manual:
$sudo systemctl start mongodb
Langkah terakhir adalah mengaktifkan MongoDB untuk memulai secara otomatis setiap kali sistem booting. Jalankan perintah berikut:
$sudo systemctl enable mongodb
MongoDB servis sekarang aktif dan berjalan menggunakan systemctl. Sebagai referensi untuk menghentikan servis bisa menggunakan perintah sudo systemctl stop mongodb.
Menyesuaikan Firewall
Tahap ini adalah opsional. Tetapi jika ingin menjalankan aplikasi web dan database di server yang sama, sangat disarankan untuk menyesuaikan firewall. Saya berasumsi bahwa pengaturan server awal telah selesai dilakukan dan firewall juga sudah aktif.
Yang pertama dan terpenting adalah mengizinkan akses ke MongoDB pada port default-nya 27017. Untuk mengizinkannya jalankan perintah berikut:
$sudo ufw allow 27017
Untuk mengizinkan akses ke server MongoDB dari sumber tepercaya seperti server hosting aplikasi web lain, jalankan perintah berikut:
$sudo ufw allow from ip_server_lainnya/32 to any port 27017
Untuk memverifikasi perubahan, jalankan:
$sudo ufw status
Kita bisa melihat output berikut:
Status: active
To Action From
-- ------ ----
27017 ALLOW Anywhere
OpenSSH ALLOW Anywhere
27017 (v6) ALLOW Anywhere (v6)
OpenSSH (v6) ALLOW Anywhere (v6)
Cara Mengelola MongoDB Servis
Di bagian ini, mari kita pelajari beberapa perintah yang akan membantu dalam mengelola layanan systemctl MongoDB.
Perintah ini akan memberi status servis systemctl saat ini:
sudo systemctl status mongodb
Dan akan menampilkan output yang mirip dengan ini:
Output
● mongodb.service - An object/document-oriented database
Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2020-13-04 12:39:05 CDT; 1 days ago
Docs: man:mongod(1)
Main PID: 871 (mongod)
CGroup: /system.slice/mongodb.service
└─871 /usr/bin/mongod --config /etc/mongodb.conf
Perintah ini akan menghentikan servis sepenuhnya:
sudo systemctl stop mongodb
Untuk memulai servis lagi, gunakan perintah ini:
$sudo systemctl start mongodb
Perintah systemctl restart akan, pertama menghentikan servis dan kemudian memulainya lagi (bisa juga untuk memulai MongoDB jika belum berjalan):
$sudo systemctl restart mongodb
Untuk menghentikan servis MongoDB agar tidak berjalan secara otomatis saat sistem booting, jalankan perintah ini:
$sudo systemctl disable mongodb
Dan jika ingin servis MongoDB mulai ketika sistem booting, gunakan perintah ini:
$sudo systemctl enable mongodb
Keenam perintah systemctl di atas akan membuat pengelolaan database MongoDB akan menjadi lebih mudah.
Buat User Root Database
Setelah MongoDB diinstal dan siap digunakan, kita dapat membuat akun root database dengan nama pengguna dan kata sandi unik. Tahapan ini akan memberi kita akses root untuk melakukan apa pun yang dibutuhkan dalam instance MongoDB.
Pertama, buka shell MongoDB:
$mongo
Dan kemudian beralih ke admin database dengan perintah berikut di dalam shell MongoDB:
> use admin
Buat pengguna root baru dengan perintah ini (ganti teks kuning dengan kredensial yang ingin digunakan):
> db.createUser({user:"admin123", pwd:"password", roles:[{role:"root", db:"admin"}]})
Agar perubahan tersebut berlaku, servis MongoDB harus direstart. Pertama, keluar dari shell MongoDB dengan cara mengetik CTRL + C). Kemudian, restart servis MongoDB dengan perintah ini:
$sudo systemctl restart mongodb
Pengguna baru sekarang sudah dibuat. Di bagian selanjutnya, kita akan terhubung ke database menggunakan pengguna tersebut dan kita coba untuk membuat database baru.
Koneksi ke MongoDB dan Buat Database Baru
Untuk menggunakan pengguna baru yang sudah dibuat di langkah sebelumnya, jalankan perintah berikut di terminal (bukan di mongo shell):
$mongo -u admin123 -p password --authenticationDatabase admin
Perintah itu akan membuka mongo shell sebagai pengguna terotentikasi. Selanjutnya buat database baru dan kita coba juga untuk menambahkan beberapa data ke dalamnya.
Pertama, gunakan perintah show dbs untuk menampilkan semua database yang telah dibuat pada instance MongoDB:
> show dbs
Hanya admin dan basis data lokal yang akan muncul karena kita belum membuat basis data:
Output
> show dbs
admin 0.078GB
local 0.078GB
Untuk membuat database, gunakan perintah berikut (ganti teks kuning dengan apa pun nama database yang diinginkan):
> use namaDatabse
Perintah ini memberitahu MongoDB untuk menggunakan database dengan nama tersebut. Basis data tidak akan dibuat sampai ada penambahan data ke dalamnya. Jadi, mari kita lanjutkan dengan mengeksekusi perintah di bawah ini yang akan membuat collection bernama produk dan menambahkan dokumen ke dalamnya dengan nama: "sepatu":
> db.products.save({name: "sepatu"})
Untuk mengambil semua item dalam collection produk bisa menggunakan perintah ini:
> db.products.find()
Output akan terlihat mirip di bawah ini:
Output
{ "_id" : ObjectId("5da949af258b2baeb57283c0"), "name" : "sepatu" }
Dan karena database baru sudah memiliki data di dalamnya sekarang, maka sekali lagi kita coba menjalankan perintah show dbs:
Output
> show dbs
admin 0.078GB
local 0.078GB
namaDatabase 0.078GB
Nah! database baru kita telah muncul dan menyimpan beberapa data di dalamnya.
Uninstall MongoDB
Untuk menghapus MongoDB dari mesin Ubuntu 18.04 bisa menggunakan beberapa perintah berikut.
Pertama, pastikan terlebih dahulu untuk menghentikan layanan systemctl:
$sudo service mongodb stop
Jika layanan MongoDB sudah berhenti, gunakan perintah apt purge untuk sepenuhnya menghapus MongoDB dari sistem:
$sudo apt-get purge mongodb*
MongoDB juga membuat file log di sistem dan karena kita sudah tidak memerlukannya lagi hapus juga menggunakan perintah berikut:
$sudo rm -r /var/log/mongodb
$sudo rm -r /var/lib/mongodb
Setelah itu, MongoDB akan sepenuhnya dihapus dari sistem.
EmoticonEmoticon