MongoDB adalah program database NoSQL berorientasi dokumen lintas platform yang menggunakan dokumen mirip JSON dengan skema opsional. MongoDB dikembangkan oleh MongoDB Inc. dan dilisensikan di bawah Lisensi Publik Sisi Server.
Alih-alih menyimpan data dalam tabel baris atau kolom seperti database SQL, setiap record dalam database MongoDB adalah dokumen yang dijelaskan dalam BSON, representasi biner dari data. Aplikasi kemudian dapat mengambil informasi ini dalam format JSON.
Berikut adalah dokumen JSON sederhana yang menggambarkan seorang tokoh sejarah.
{
"_id": 1,
"name": {
"first": "Ada",
"last": "Lovelace"
},
"title": "The First Programmer",
"interests": ["mathematics", "programming"]
}
Konten Terkait
- Cara Menyiapkan Otentikasi di Mongodb
- Cara menjalankan Mongodb dengan Docker dan Docker-Compose
- Cara menginstal Mongodb 5 di Rocky Linux/Centos 8
- Cara menginstal Mongodb 5 di Opensuse Leap 15.3
Prasyarat
Untuk mengikuti, pastikan Anda memiliki yang berikut:
- Server Fedora 34/35 terbaru
- Pengetahuan tentang Terminal Linux
- Akses ke internet
- Akses root ke server atau Pengguna dengan akses Sudo
Daftar Isi
- Memastikan server mutakhir
- Menginstal MongoDB
- Mengizinkan Port MongoDB di Firewall
- Memulai dan mengaktifkan Layanan MongoDB
- Menghubungkan ke MongoDB dan menjalankan beberapa perintah pengujian
- Copot pemasangan Edisi Komunitas MongoDB
1. Memastikan server selalu terbaru
Sebelum melanjutkan, mari kita pastikan bahwa repo dan paket layanan kita dalam versi terbaru dengan memperbarui menggunakan perintah ini:
sudo dnf -y update
2. Menginstal Mongodb
MongoDB tidak tersedia di repo Fedora 34/35 default. Untuk pemasangan ini, kami akan mengunduh .rpm
file langsung dari repositori MongoDB. Unduhan diatur menurut versi Red Hat / CentOS (mis. 8
), lalu versi rilis MongoDB (mis. 5.0
), lalu arsitektur (mis. x86_64
).
Mari kita unduh server MongoDB menggunakan perintah ini:
curl -LO https://repo.mongodb.org/yum/redhat/8Server/mongodb-org/5.0/x86_64/RPMS/mongodb-org-server-5.0.3-1.el8.x86_64.rpm
Kemudian instal dengan dnf:
sudo dnf install -y ./mongodb-org-server-5.0.3-1.el8.x86_64.rpm
Mari kita juga menginstal shell MongoDB dan menginstal menggunakan perintah ini:
curl -LO https://repo.mongodb.org/yum/redhat/8Server/mongodb-org/5.0/x86_64/RPMS/mongodb-org-shell-5.0.3-1.el8.x86_64.rpm
Kemudian instal:
sudo dnf install -y ./mongodb-org-shell-5.0.3-1.el8.x86_64.rpm
Akhirnya mari kita unduh dan instal Mongosh.
curl -LO https://repo.mongodb.org/yum/redhat/8Server/mongodb-org/5.0/x86_64/RPMS/mongodb-mongosh-1.1.1.el8.x86_64.rpm
Kemudian instal
sudo dnf install -y ./mongodb-mongosh-1.1.1.el8.x86_64.rpm
Anda dapat memeriksa versi MongoDB yang diinstal menggunakan perintah berikut:
$ mongo -version
MongoDB shell version v5.0.3
Build Info: {
"version": "5.0.3",
"gitVersion": "657fea5a61a74d7a79df7aff8e4bcf0bc742b748",
"openSSLVersion": "OpenSSL 1.1.1l FIPS 24 Aug 2021",
"modules": [],
"allocator": "tcmalloc",
"environment": {
"distmod": "rhel80",
"distarch": "x86_64",
"target_arch": "x86_64"
}
}
Kami juga dapat memeriksa versi Mongosh:
$ mongosh -version
1.1.1
3. Mengizinkan Port MongoDB di firewall
Jika Anda memiliki firewalld
yang aktif service di server Anda dan ingin layanan MongoDB dapat diakses melalui jaringan, izinkan port 27017/tcp
:
sudo firewall-cmd --add-port=27017/tcp --permanent
sudo firewall-cmd --reload
Anda juga dapat membatasi akses berdasarkan alamat sumber
sudo firewall-cmd --permanent --add-rich-rule "rule family="ipv4" \
source address="10.1.0.0/16" port protocol="tcp" port="27017" accept
4. Memulai dan Mengaktifkan Layanan MongoDB
Setelah layanan diinstal, itu tidak akan dimulai secara default. Mulai layanan mongodb menggunakan perintah ini:
sudo systemctl start mongod
Konfirmasikan bahwa layanan aktif dan berjalan dengan memeriksa statusnya:
$ sudo systemctl status mongod
● mongod.service - MongoDB Database Server
Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2021-11-03 14:31:03 UTC; 21min ago
Docs: https://docs.mongodb.org/manual
Main PID: 74348 (mongod)
Memory: 61.5M
CPU: 4.278s
CGroup: /system.slice/mongod.service
└─74348 /usr/bin/mongod -f /etc/mongod.conf
Nov 03 14:31:02 new-cloud systemd[1]: Starting MongoDB Database Server...
Nov 03 14:31:02 new-cloud mongod[74346]: about to fork child process, waiting until server is ready for connections.
Nov 03 14:31:02 new-cloud mongod[74348]: forked process: 74348
Nov 03 14:31:03 new-cloud mongod[74346]: child process started successfully, parent exiting
Nov 03 14:31:03 new-cloud systemd[1]: Started MongoDB Database Server.
Layanan mongodb kami aktif dan berjalan. Mari kita aktifkan untuk memulai saat boot menggunakan perintah ini:
sudo systemctl enable mongod
5. Menghubungkan ke Mongodb dan Menjalankan beberapa perintah pengujian
Gunakan perintah mongo untuk terhubung ke shell mongo.
$ mongo --port 27017
MongoDB shell version v5.0.3
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("3c093393-8154-44d4-97b5-7b02ddebd7bd") }
MongoDB server version: 5.0.3
================
Warning: the "mongo" shell has been superseded by "mongosh",
which delivers improved usability and compatibility.The "mongo" shell has been deprecated and will be removed in
an upcoming release.
We recommend you begin using "mongosh".
For installation instructions, see
https://docs.mongodb.com/mongodb-shell/install/
================
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
https://docs.mongodb.com/
Questions? Try the MongoDB Developer Community Forums
https://community.mongodb.com
---
The server generated these startup warnings when booting:
2021-11-03T14:31:02.695+00:00: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine. See http://dochub.mongodb.org/core/prodnotes-filesystem
2021-11-03T14:31:03.626+00:00: Access control is not enabled for the database. Read and write access to data and configuration is unrestricted
---
---
Enable MongoDB's free cloud-based monitoring service, which will then receive and display
metrics about your deployment (disk utilization, CPU, operation statistics, etc).
The monitoring data will be available on a MongoDB website with a unique URL accessible to you
and anyone you share the URL with. MongoDB may use this information to make product
improvements and to suggest MongoDB products and deployment options to you.
To enable free monitoring, run the following command: db.enableFreeMonitoring()
To permanently disable this reminder, run the following command: db.disableFreeMonitoring()
---
> db.version()
5.0.3
Mari kita jalankan beberapa perintah pengujian untuk mengonfirmasi cara kerjanya:
> use citizix_db;
switched to db citizix_db
> db.users.save({
... name: "etowett",
... location: "Arctic Vault"
... });
WriteResult({ "nInserted" : 1 })
>
> db.users.find();
{ "_id" : ObjectId("6182a27289aefc6a3f30d05a"), "name" : "etowett", "location" : "Arctic Vault" }
6. Copot pemasangan Edisi Komunitas MongoDB
Untuk menghapus MongoDB sepenuhnya dari sistem, Anda harus menghapus aplikasi MongoDB itu sendiri, file konfigurasi, dan direktori apa pun yang berisi data dan log.
Proses ini akan sepenuhnya hapus MongoDB, konfigurasinya, dan semua database. Proses ini tidak dapat dibatalkan, jadi pastikan bahwa semua konfigurasi dan data Anda telah dicadangkan sebelum melanjutkan.
Bagian berikut memandu Anda melalui langkah-langkah yang diperlukan.
Hentikan MongoDB
Hentikan mongod
proses dengan mengeluarkan perintah berikut:
sudo service mongod stop
Hapus Paket.
Hapus semua paket MongoDB yang telah Anda instal sebelumnya.
sudo zypper remove $(rpm -qa | grep mongodb-org)
Hapus Direktori Data.
Hapus database MongoDB dan file log.
sudo rm -r /var/log/mongodbsudo rm -r /var/lib/mongo
Kesimpulan
Dalam panduan ini, kami berhasil Menginstal dan melakukan beberapa operasi dasar dengan MongoDB di Server Fedora 34/35 kami.