Di blog ini kita telah membahas beberapa sistem database, di antaranya yang paling populer adalah MariaDB dan MySQL, karena keduanya adalah sistem yang biasanya disertakan dalam Xampp atau Lampp. Kali ini yang akan kita bicarakan sistem lain yang MongoDB.
MongoDB adalah sistem database NoSQL berorientasi dokumen open source, Ini adalah sistem manajemen basis data dokumen modern yang dirancang untuk persistensi data berkinerja tinggi, ketersediaan tinggi, serta penskalaan otomatis, berdasarkan teknologi teknik NoSQL.
Alih-alih menyimpan data dalam tabel seperti yang dilakukan dalam database relasional, MongoDB menyimpan struktur data dalam dokumen, yang merupakan struktur data yang terdiri dari pasangan bidang dan nilai (dokumen MongoDB sebanding dengan objek JSON).
Karena memberikan kinerja tinggi dan karakteristik skalabilitas yang sangat baik, ia digunakan untuk membangun aplikasi modern yang membutuhkan database yang kuat, penting untuk misi, dan sangat tersedia.
Instalasi MongoDB di Ubuntu
Untuk menginstal sistem database ini di sistem kami, Kami hanya perlu membuka terminal dan menjalankan perintah berikut di dalamnya:
sudo apt install mongodb
Instalasi selesai, Layanan MongoDB akan dimulai secara otomatis melalui systemd dan proses akan berjalan pada port 27017. Anda dapat memeriksa statusnya menggunakan perintah:
sudo systemctl status mongodb
Jika tidak, kita bisa memaksa memulai dengan perintah ini:
sudo systemctl start mongodb
Mengaktifkan koneksi jarak jauh ke MongoDB
Sistem database MongoDB secara default menggunakan port 27017 yang harus kita buka Untuk menerima koneksi jarak jauh, kami hanya mengaktifkannya dengan perintah berikut.
sudo ufw allow 27017
Secara default, port 27017 hanya dapat diakses dari alamat lokal 127.0.0.1. Untuk mengizinkan koneksi jarak jauh ke MongoDB, Anda perlu menambahkan alamat IP server di file /etc/mongodb.conf
Edit saja dengan:
sudo nano
Dan kita bisa melihat sesuatu yang mirip dengan ini:
bind_ip = 127.0.0.1, your_server_ip #port = 27,017
Yang kami edit dengan data dari server kami.
Mengizinkan akses ke MongoDB dari mana saja, ini memberikan akses tidak terbatas ke data dalam database. Oleh karena itu, lebih baik memberikan akses ke alamat IP default khusus lokasi dari port MongoDB.
sudo ufw allow from your_server_IP/32 to any port 27017 sudo ufw status
Setelah ini selesai, cukup dengan memulai ulang layanan sehingga perubahan baru dimuat di awal, ini kami lakukan dengan:
sudo systemctl restart mongodb
Buat pengguna di MongoDB dengan kata sandi
Secara default database memiliki akses yang cukup sederhana, jadi untuk memperkuat ini kita dapat membuat pengguna dengan kata sandi.
MongoDB menggunakan mekanisme otentikasi SCRAM secara default. Menggunakan SCRAM pada sistem memverifikasi kredensial pengguna yang diberikan terhadap nama pengguna, kata sandi, dan basis data otentikasi.
Cukup mulai konsol database dengan perintah berikut:
Mongo
Kita bisa membuat daftar database yang ada dengan:
show dbs
Kami dapat membuat pengguna yang memungkinkan kami untuk mengelola pengguna dan fungsi seperti membuat pengguna, memberikan atau mencabut peran pengguna, dan membuat atau mengubah peran bea cukai.
Ketik saja
use admin
Dan kami membuat pengguna dengan perintah berikut, di mana kami mengganti nama pengguna "root" dan kata sandi "kata sandi", dengan kode akses yang kami anggap sesuai.
db.createUser({user:"root", pwd:"password", roles:[{role:"root", db:"admin"}]})
Setelah ini selesai, kita harus mengaktifkan metode otentikasi untuk ini kita akan mengedit file berikut:
sudo nano /lib/systemd/system/mongodb.service
Dan kami akan mencari baris berikutnya:
ExecStart=/usr/bin/mongod --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS
Dan edit sehingga menjadi sebagai berikut:
ExecStart=/usr/bin/mongod --auth --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS
sekarang kita cukup reboot di database
systemctl daemon-reload sudo systemctl restart mongodb sudo systemctl status mongodb
Y Kami menguji metode otentikasi dengan:
mongo -u "usuario" -p --authenticationDatabase "contraseña"
Bantu saya dengan ERROR ini.
2021-03-24T21: 33: 16.233 + 0000 E QUERY [thread1] Error: listDatabases gagal: {
«Oke»: 0,
"Errmsg": "tidak diizinkan pada admin untuk menjalankan perintah {listDatabases: 1.0, $ db: \" admin \ "}",
"Kode": 13,
"CodeName": "Tidak sah"
}:
_getErrorWithCode@src/mongo/shell/utils.js: 25:13
Mongo.prototype.getDBs@src/mongo/shell/mongo.js: 65: 1
shellHelper.show@src/mongo/shell/utils.js: 816: 19
shellHelper@src/mongo/shell/utils.js: 706: 15
@ (shellhelp2): 1: 1