MongoDB adalah database dokumen sumber terbuka dan gratis. Itu milik keluarga database yang disebut NoSQL, yang berbeda dari database SQL berbasis tabel tradisional seperti MySQL dan PostgreSQL.
Di MongoDB, data disimpan dalam dokumen mirip JSON yang fleksibel di mana bidang dapat bervariasi dari satu dokumen ke dokumen lainnya. Itu tidak memerlukan skema yang telah ditentukan, dan struktur data dapat diubah dari waktu ke waktu.
Dalam tutorial ini, kami akan menjelaskan cara menginstal dan mengkonfigurasi versi terbaru MongoDB Community Edition di Debian 10 Buster.
Menginstal MongoDB #
MongoDB tidak tersedia di repositori standar Debian Buster. Kami akan mengaktifkan repositori resmi MongoDB dan menginstal paket.
Pada saat penulisan artikel ini, versi terbaru dari MongoDB adalah versi 4.2. Sebelum memulai penginstalan, buka halaman Instal di Debian dari dokumentasi MongoDB dan periksa apakah ada versi baru yang tersedia.
Lakukan langkah-langkah berikut sebagai root atau pengguna dengan hak sudo untuk menginstal MongoDB pada sistem Debian:
-
Instal paket yang diperlukan untuk menambahkan repositori baru:
sudo apt install dirmngr gnupg apt-transport-https software-properties-common ca-certificates curl
-
Tambahkan kunci GPG MongoDB ke sistem Anda:
curl -fsSL https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
-
Aktifkan repositori MongoDB:
sudo add-apt-repository 'deb https://repo.mongodb.org/apt/debian buster/mongodb-org/4.2 main'
Paket dengan versi MongoDB yang lebih lama tidak tersedia untuk Debian 10.
-
Perbarui daftar paket dan instal
mongodb-org
paket meta:sudo apt update
sudo apt install mongodb-org
Paket-paket berikut akan diinstal pada sistem sebagai bagian dari
mongodb-org
paket:mongodb-org-server
-mongod
daemon serta skrip dan konfigurasi init yang sesuai.mongodb-org-mongos
-mongos
daemon.mongodb-org-shell
- Shell mongo adalah antarmuka JavaScript interaktif untuk MongoDB. Ini digunakan untuk melakukan tugas administratif melalui baris perintah.mongodb-org-tools
- Berisi beberapa alat MongoDB untuk mengimpor dan mengekspor data, statistik, serta utilitas lainnya.
-
Mulai layanan MongoDB dan aktifkan untuk memulai saat boot:
sudo systemctl enable mongod --now
-
Untuk memverifikasi apakah instalasi telah berhasil diselesaikan, sambungkan ke server database MongoDB menggunakan
mongos
alat dan cetak status koneksi:mongo --eval 'db.runCommand({ connectionStatus: 1 })'
Outputnya akan terlihat seperti ini:
MongoDB shell version v4.2.1 connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("09f11c53-605f-44ad-abec-ec5801bb6b06") } MongoDB server version: 4.2.1 { "authInfo" : { "authenticatedUsers" : [ ], "authenticatedUserRoles" : [ ] }, "ok" : 1 }
Nilai
1
untukok
bidang menunjukkan keberhasilan.
Konfigurasi MongoDB #
File konfigurasi MongoDB bernama mongod.conf
dan terletak di /etc
direktori. File dalam format YAML.
Pengaturan konfigurasi default sudah cukup untuk sebagian besar pengguna. Namun, untuk lingkungan produksi, disarankan untuk menghapus komentar pada bagian keamanan dan mengaktifkan otorisasi, seperti yang ditunjukkan di bawah ini:
/etc/mongod.confsecurity:
authorization: enabled
authorization
opsi mengaktifkan Kontrol Akses Berbasis Peran (RBAC) yang mengatur akses pengguna ke sumber daya dan operasi basis data. Jika opsi ini dinonaktifkan, setiap pengguna dapat mengakses semua database dan melakukan tindakan apa pun.
Setelah mengedit file konfigurasi, restart layanan mongod agar perubahan diterapkan:
sudo systemctl restart mongod
Untuk menemukan informasi lebih lanjut tentang opsi konfigurasi yang tersedia di MongoDB 4.2, kunjungi halaman dokumentasi Opsi File Konfigurasi.
Membuat Pengguna Administratif MongoDB #
Jika Anda mengaktifkan autentikasi MongoDB, Anda harus membuat pengguna administratif yang dapat mengakses dan mengelola instans MongoDB. Untuk melakukannya, akses mongo shell dengan:
mongos
Dari dalam shell MongoDB, ketik perintah berikut untuk terhubung ke admin
basis data:
use admin
switched to db admin
Keluarkan perintah berikut untuk membuat pengguna baru bernama mongoAdmin
dengan userAdminAnyDatabase
peran:
db.createUser(
{
user: "mongoAdmin",
pwd: "changeMe",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
Successfully added user: {
"user" : "mongoAdmin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}
Anda dapat memberi nama pengguna MongoDB administratif sesuai keinginan. Keluar dari mongo shell dengan:
quit()
Untuk menguji perubahan, akses mongo shell menggunakan pengguna administratif yang telah Anda buat sebelumnya:
mongo -u mongoAdmin -p --authenticationDatabase admin
Masukkan kata sandi saat diminta. Setelah Anda berada di dalam shell MongoDB, hubungkan ke admin
basis data:
use admin
switched to db admin
Sekarang, cetak pengguna dengan:
show users
{
"_id" : "admin.mongoAdmin",
"userId" : UUID("cdc81e0f-db58-4ec3-a6b8-829ad0c31f5c"),
"user" : "mongoAdmin",
"db" : "admin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
],
"mechanisms" : [
"SCRAM-SHA-1",
"SCRAM-SHA-256"
]
}