Untuk menginstall mongodb di ubuntu 22.04, lakukan langkah2 berikut:
sudo apt update sudo apt install wget curl gnupg2 software-properties-common apt-transport-https ca-certificates lsb-release curl -fsSL https://www.mongodb.org/static/pgp/server-6.0.asc|sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/mongodb-6.gpg echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.0g-2ubuntu4_amd64.deb sudo dpkg -i libssl1.1_1.1.0g-2ubuntu4_amd64.deb sudo apt update sudo apt install mongodb-org sudo systemctl enable --now mongod systemctl status mongod mongod --version
Konfigurasi Mongodb
Langkah berikutnya setelah installasi adalah konfigurasi database. File konfigurasi ada di /etc/mongod.conf. Silahkan lakukan konfigurasi sesuai kebutuhan anda.
Enable password authentication
Untuk keamanan kita perlu mengenablekan password authentication agar setiap user yang login diwajibkan memasukkan password. Tambahkan baris berikut pada file /etc/mongod.conf
security: authorization: enabled
Enable Remote access
Agar mongodb bisa diakses di seluruh network, kita perlu merubah net configuration berikut:
# network interfaces net: port: 27017 bindIp: 127.0.0.1 # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.
Ubah bindIp menjadi 0.0.0.0. Selain itu pastikan juga mongodb service diijinkan untuk diakses melalui firewall.
sudo ufw allow 27017
Setelah melakukan perubahan config, restart mongodb dengan perintah berikut:
sudo systemctl restart mongod
Untuk melakukan stop service mongodb, jalankan perintah berikut.
sudo systemctl stop mongod
Untuk meremove mongodb dari service yang otomatis jalan ketika startup, jalankan perintah berikut.
sudo systemctl disable --now mongod
Menggunakan Mongodb
Untuk menggunakan mongodb, ketikkan perintah mongoshell berikut.
mongosh
Membuat user dan memberikan role pada user
Untuk membuat user dan memberikan role, jalankan script berikut.
use admin db.createUser( { user: "root", pwd: "root", // or cleartext password roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ] } )
Untuk mengetest koneksi database, jalankan script berikut.
mongosh -u mongdbuser -p --authenticationDatabase admin // konek ke server mongosh "mongodb://localhost:2717" //konek ke local development beda port mongosh --port 2717
Membuat Database di Mongodb
Untuk membuat database, jalankan script berikut.
show dbs use mongotestdb
Membuat collection di Database
Dalam dbms collection memiliki fungsi sama dengan table. Jalankan script berikut untuk membuat collection.
db.users.insert({ "name":"Administrator", "email":"[email protected]", "username":"admin", "password":"$2a$10$1IM/xB56rtR33i3ofRFq/OxNUxSJLBUU0SazCAdiacWLbCaBU2s3m", "admin":1 }); show collections;
Mengupdate document pada collection
Operasi yang bisa dilakukan selain insert document adalah update document. Berikut contoh sintaks update:
db.users.update( { username: 'admin' }, { $set: { "admin":1 } } );
Backup dan Restore pada Mongodb
Untuk melakukan backup, jalankan script berikut.
mongodump --db=cmscart // menyimpan pada file archive dan mencompress archive, mongodump --archive=cmscart.gz --gzip --db=cmscart
Untuk melakukan restore, jalankan perintah berikut.
mongorestore mongodb://localhost:2717 dump/
Mongodb Cloud
Mongodb cloud adalah service yang disediakan oleh mongodb yang bisa dimanfaatkan oleh developer untuk mendeploy database mongodb pada cloud. Sehingga database bisa diakses via internet. Tools yang digunakan untuk mengatur Mongodb cloud adalah Mongodb Atlas.
Untuk melakukan koneksi ke mongodb cloud jalankan perintah berikut pada shell.
mongosh "mongodb+srv://[nama_cluster]/" --apiVersion 1 --username [nama_user]
Connection string diatas, bisa didapatkan dari mongodb Atlas menu Database Deployment > Connect.
Restore database ke Mongodb Cloud
Jalankan perintah berikut untuk melakukan restore database.
mongorestore "mongodb+srv://[nama_cluster]/" --username [nama_user] dump/
Fullstack Developer yang tinggal di yogyakarta. Suka eksplorasi hal baru yang berhubungan dengan pemrograman dan ilmu keislaman. Berpengalaman dalam pemrograman PHP, Delphi dan sedang upgrade skill dengan python. Just as simple that.