MongoDB adalah database dokumen, menyimpan data dalam bentuk seperti JSON, yang merupakan pendekatan revolusioner dalam kontras database relasional tradisional. Ini tidak berarti bahwa database SQL akan mati dalam waktu dekat; mereka akan berada di sini untuk waktu yang lama ketika Anda perlu menyimpan data terstruktur.
Meskipun demikian, MongoDB mendapatkan lebih banyak kasus penggunaan; kemampuan menyimpan data dalam bentuk yang dapat berubah dengan cepat adalah hal yang harus diperhitungkan.
Dalam tutorial ini kita akan menginstal rilis komunitas terbaru dari database NoSQL ini ke RHEL 8 / CentOS 8, menggunakan paket tarball. Agar ini berfungsi dengan lancar, kami akan menyiapkan lingkungan minimal, dan menguji konfigurasi dan menjalankan layanan kami.
Dalam tutorial ini Anda akan mempelajari:
- Cara mengunduh &mengekstrak tarbal MongoDB
- Cara menyiapkan lingkungan untuk layanan
- Cara mengelola layanan mongod
- Cara masuk ke mongo shell, menyisipkan, dan meminta data sampel
Contoh kueri di mongodb.
Persyaratan dan Konvensi Perangkat Lunak yang Digunakan
Kategori | Persyaratan, Konvensi, atau Versi Perangkat Lunak yang Digunakan |
---|---|
Sistem | RHEL 8 / CentOS 8 |
Perangkat Lunak | MongoDB 4 |
Lainnya | Akses istimewa ke sistem Linux Anda sebagai root atau melalui sudo perintah. |
Konvensi | # – membutuhkan perintah linux yang diberikan untuk dieksekusi dengan hak akses root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo perintah$ – membutuhkan perintah linux yang diberikan untuk dieksekusi sebagai pengguna biasa yang tidak memiliki hak istimewa |
Cara menginstal mongodb di RHEL 8 / CentOS 8 petunjuk langkah demi langkah
Kita perlu mengumpulkan URL sebelum instalasi. Untuk ini, kita perlu mengunjungi situs Komunitas Pusat Unduhan MongoDB, pilih sistem operasi dan versi (Linux 64bit legacy dalam hal ini, kita memerlukan tarball). Sementara kami disediakan dengan tombol unduh, kami juga mendapatkan URL langsung di bawah ini, yang dapat kami gunakan dari mesin target secara langsung.
Ini menyelamatkan kita dari mengunduh paket melalui browser dan kemudian mentransfernya ke mesin target, asalkan kita memiliki akses Internet dari target. Jadi perhatikan URL-nya, kami akan segera menggunakannya.
- Kami akan menyimpan binari di bawah
/opt
. Pada mesin target, kita masuk ke direktori:# cd /opt
Dan unduh tarball dengan memberikan URL yang diperoleh sebelumnya ke
wget
:# wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.5.tgz--2019-01-03 16:49:59-- https://fastdl.mongodb. org/linux/mongodb-linux-x86_64-4.0.5.tgzMenyelesaikan fastdl.mongodb.org (fastdl.mongodb.org)... 52.222.150.27, 52.222.150.229, 52.222.150.45, ...Menghubungkan ke fastdl.mongodb .org (fastdl.mongodb.org)|52.222.150.27|:443... terhubung.Permintaan HTTP terkirim, menunggu tanggapan... 200 OKPanjang:73214518 (70M) [application/x-gzip]Menyimpan ke:'mongodb- linux-x86_64-4.0.5.tgz'mongodb-linux-x86_64-4.0.5.tgz 100%[==============================================================================================================>] 69,82 juta 3,12 MB/dtk dalam 23 detik 2019-01- 03 16:50:22 (3,06 MB/s) - 'mongodb-linux-x86_64-4.0.5.tgz' disimpan [73214518/73214518]
- Kami mengekstrak tarball:
# tar -zxvf mongodb-linux-x86_64-4.0.5.tgz
Dan buat symlink yang lebih mudah diingat bernama
mongodb
yang menunjuk ke direktori yang diekstrak (nomor versi mungkin berbeda):# ln -s mongodb-linux-x86_64-4.0.5 mongodb
- Kami membuat pengguna yang akan menjalankan layanan yang disebut
mongod
:# useradd mongod
- Kami membuat direktori tempat mongodb akan menyimpan datanya:
# mkdir -p /var/lib/mongo
- Kami menyetel
mongod
pengguna sebagai pemilik binari dan direktori data:# chown -R mongod:mongod /opt/mongodb*# chown -R mongod:/var/lib/mongo
- Kami membuat file konfigurasi dasar untuk mongodb. Kami menentukan direktori data yang dibuat, dan mengatur database untuk mendengarkan hanya di localhost, pada port default
27017
. Kami membuat file teks/etc/mongod.conf
dengan konten berikut:storage: dbPath: "/var/lib/mongo" journal: enabled: true net: port: 27017 bindIp: "127.0.0.1"
Perhatikan
dbPath
parameter, yang kita setel ke direktori yang kita buat untuk penyimpanan data pada langkah sebelumnya. - Untuk
systemd
untuk dapat mengelola layanan tersebut, kita buat file teks/etc/systemd/system/mongod.service
dengan konfigurasi minimal:[Unit] Description=MongoDB After=syslog.target network.target [Service] Type=simple User=mongod Group=mongod ExecStart=/opt/mongodb/bin/mongod --config /etc/mongod.conf [Install] WantedBy=multi-user.target
Perhatikan bahwa kami menggunakan
mongod
pengguna dan grup, menggunakan jalur khusus kami untukmongod
biner, dan menyertakan file konfigurasi yang kita buat dengan tangan. - Kami menyetel
selinux
menjadi permisif untuk saat ini, karena akan memblokir layanan yang mengakses sumber daya. Mengaturselinux
kebijakan berada di luar cakupan tutorial ini.# setenforce 0
- Kami akan menanyakan
systemd
untuk memuat ulang:systemctl daemon-reload
- Dan periksa apakah layanan dikenali:
# systemctl status mongod mongod.service - MongoDB Dimuat:dimuat (/etc/systemd/system/mongod.service; dinonaktifkan; preset vendor:dinonaktifkan) Aktif:tidak aktif (mati )
- Kami siap untuk memulai layanan:
# systemctl start mongod
- Dan periksa statusnya. Jika semuanya berjalan dengan baik, kita akan melihat sesuatu seperti berikut:
# systemctl status mongod mongod.service - MongoDB Loaded:dimuat (/etc/systemd/system/mongod.service; dinonaktifkan; vendor preset:dinonaktifkan) Aktif:aktif (berjalan) sejak Kamis-01-03 17:01:48 CET; 4 dtk yang lalu PID Utama:2993 (mongod) Tugas:23 (batas:12544) Memori:45.3M CGroup:/system.slice/mongod.service 2993 /opt/mongodb/bin/mongod --config /etc/mongod.conf
- Kami dapat menguji layanan kami dengan
mongo shell
, antarmuka baris perintah yang dikirimkan bersama MongoDB. Untuk dapat mengaksesnya, kita perlu menyertakan binari yang kita ekstrak di$PATH
. Sebagai admin yang malas, kami hanya melakukan ini sekali, cara permanen. Kami menambahkan baris berikut ke/root/.bash_profile
, sebelum baris "ekspor PATH" terakhir:## mongodbPATH=$PATH:/opt/mongodb/bin
Dan jalankan skrip:
# . ~/.bash_profile
- Kami memulai
mongo shell
:# mongoMongoDB versi shell v4.0.5menghubungkan ke:mongodb://127.0.0.1:27017/?gssapiServiceName=mongodbSesi implisit:sesi { "id" :UUID("8999342b-e313-48e6-92c4-bf6b07cee0e4") }Versi server MongoDB:4.0.5Selamat datang di shell MongoDB.Untuk bantuan interaktif, ketik "help".[...]>
Mungkin ada beberapa peringatan startup, seperti pengaturan halaman besar, tetapi kami akan mengabaikannya dalam tutorial ini.
- Pada
mongo shell
, kami akan meminta database apa pun yang ada:> dbtest
- Dan beralih ke
test
shipped database:> gunakan testswitched ke db test
- Kami menyisipkan beberapa data uji (kunci “x” dengan nilai “1”) ke dalam koleksi yang dibuat dengan cepat:
> db.exampleCollection.insertOne( { x:1 } );{ "diakui" :benar, "insertedId" :ObjectId("5c2e33040854f2d89326ae9c")}>
- Dan akhirnya kami meminta data apa pun dalam koleksi baru, memverifikasi bahwa pasangan nilai kunci kami berhasil disimpan:
> db.getCollection("exampleCollection").find().pretty();{ "_id " :ObjectId("5c2e4c2fd129ceef6a6c6112"), "x" :1 }>