MongoDB adalah database dokumen yang bebas dan open-source. MongoDB adalah milik keluarga database NoSQL, yang berbeda dari database SQL tradisional berbasis tabel seperti MySQL dan PostgreSQL.
Dalam MongoDB, data disimpan dalam dokumen yang fleksibel, JSON-like di mana field dapat bervariasi dari satu dokumen ke dokumen lainnya. Database tidak memerlukan skema yang telah ditentukan dan struktur data dapat diubah seiring waktu.
Dalam tutorial ini, kita akan membahas proses menginstal dan mengkonfigurasi versi terbaru MongoDB Community Edition di CentOS 8 server.
Install MongoDB di CentOS 8
MongoDB tidak tersedia di repositori standar CentOS 8. Untuk itu, kita akan mengaktifkan repositori MongoDB resmi dan menginstal paket.
Pada saat artikel ini ditulis, MongoDB versi terbaru adalah versi 4.2. Sebelum memulai dengan instalasi, buka halaman Install on Red Hat dari dokumentasi MongoDB dan periksa apakah ada versi baru yang tersedia.
Sebelum melanjutkan dengan tutorial ini, Pastikan Anda masuk sebagai root atau user dengan hak istimewa sudo.
- Aktifkan repositori MongoDB dengan membuat file repositori baru bernama
mongodb-org.repo
di dalam direktori/etc/yum.repos.d/
:sudo nano /etc/yum.repos.d/mongodb-org.repo
Copy dan paste konfigurasi berikut
[mongodb-org-4.2] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc
Untuk menginstal versi MongoDB yang lebih lama, cukup ganti
4.2
dengan versi pilihan Anda - Install meta-package
mongodb-org
:sudo dnf install mongodb-org
Selama instalasi, Anda akan diminta untuk mengimpor GPG key MongoDB. Ketik
y
dan tekanEnter
. - Paket-paket berikut ini akan diinstal pada sistem Anda sebagai bagian dari paket
mongodb-org
:mongodb-org-server
–mongod
daemon dan konfigurasi init scripts yang sesuai.mongodb-org-mongos
– daemonmongos
.mongodb-org-shell
– Shell mongo, adalah interface JavaScript interaktif untuk MongoDB. Shell ini digunakan untuk melakukan tugas administratif melalui baris perintah.mongodb-org-tools
– Berisi beberapa tools MongoDB untuk mengimpor dan mengekspor data, statistik, serta utilitas lainnya.
- Setelah instalasi selesai, jalankan daemon MongoDB dan aktifkan untuk memulai saat booting dengan mengetik:
sudo systemctl enable mongod --now
- Verifikasi apakah instalasi telah selesai dengan sukses, kita akan terhubung ke server database MongoDB menggunakan tool
mongo
dan melihat versi server yang berjalan:mongo
Setelah berada di dalam shell MongoDB ketik perintah berikut yang akan menampilkan versi MongoDB:
db.version()
4.2.3
Konfigurasi MongoDB di CentOS 8
Anda dapat mengonfigurasi instance MongoDB dengan mengedit file konfigurasi /etc/mongod.conf
yang ditulis dalam bahasa YAML.
Pengaturan konfigurasi default sudah cukup baik untuk sebagian besar pengguna. Namun, untuk lingkungan produksi, disarankan untuk sedikit mengubah bagian keamanan dan mengaktifkan otorisasi seperti yang ditunjukkan di bawah ini:
sudo nano /etc/mongod.conf
security: authorization: enabled
Opsi authorization
memungkinkan Role-Based Access Control (RBAC) yang mengatur akses pengguna ke sumber daya dan operasi database. Jika opsi ini dinonaktifkan, setiap pengguna akan memiliki akses ke semua database dan melakukan tindakan apa pun.
Setelah membuat perubahan pada file konfigurasi MongoDB, restart layanan mongod
dengan perintah:
sudo systemctl restart mongod
Untuk menemukan informasi lebih lanjut tentang opsi konfigurasi yang tersedia di MongoDB 4.0 kunjungi halaman dokumentasi konfigurasi.
Membuat User Administratif MongoDB
Jika Anda mengaktifkan otentikasi MongoDB, buat user administratif MongoDB yang akan digunakan untuk mengakses dan mengelola instance MongoDB.
Pertama akses mongo shell dengan:
mongo
Setelah berada di dalam shell MongoDB ketik perintah berikut untuk terhubung ke database admin
:
use admin
switched to db admin
Gunakan perintah berikut untuk membuat pengguna baru bernama mongoAdmin
dengan role userAdminAnyDatabase
:
db.createUser( { user: "mongoAdmin", pwd: "GantiDenganPassword", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } )
Successfully added user: { "user" : "mongoAdmin", "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ] }
Anda dapat mengganti nama user administratif MongoDB seperti yang Anda inginkan.
Keluar dari mongo shell dengan mengetik:
quit()
Untuk menguji perubahan, akses shell mongo menggunakan pengguna administratif yang telah Anda buat sebelumnya:
mongo -u mongoAdmin -p --authenticationDatabase admin
use admin
switched to db admin
Sekarang cobalah untuk menampilkan pengguna dengan perintah :
show users
{ "_id" : "admin.mongoAdmin", "user" : "mongoAdmin", "db" : "admin", "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ], "mechanisms" : [ "SCRAM-SHA-1", "SCRAM-SHA-256" ] }
Anda juga dapat mencoba mengakses shell mongo tanpa argumen (cukup ketik mongo
) dan lihat apakah Anda dapat membuat daftar pengguna menggunakan perintah yang sama seperti di atas.
Kesimpulan
Anda telah belajar cara menginstal dan mengkonfigurasi MongoDB 4.2 di server CentOS 8 Anda.