Pengenalan

MongoDB merupakan basis data (database) NoSQL yang berbasis dokumen dengan format JSON.

Jika pada database SQL data disimpan dalam bentuk tabel, sedangkan pada MongoDB disimpan dalam bentuk dokumen dengan format JSON.

Selengkapnya terkait MongoDB dapat merujuk pada link berikut: Wiki MongoDB.

Instalasi

Pada repository default CentOS 8 untuk MongoDB tidak tersedia, dengan demikian untuk instalasi kali ini akan menggunakan repository MongoDB.

Versi MongoDB yang akan digunakan pada tutorial kali ini yaitu versi 4.2, untuk mengetahui repository dari versi MongoDB yang lainnya Anda dapat merujuk pada link berikut: Repository MongoDB.

Langkah pertama yang harus dilakukan yaitu enable repository MongoDB.

[[email protected] ~]#
[[email protected] ~]# vim /etc/yum.repos.d/mongodb-org.repo

Berikut repository MongoDB versi 4.2

[mongodb-org-4.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc

Jika sudah silakan simpan dan install MongoDB menggunakan perintah berikut

[[email protected] ~]# dnf install mongodb-org -y
[[email protected] ~]#

Jika sudah silakan enable dan start MongoDB

[[email protected]ngo ~]# systemctl enable mongod --now
[[email protected] ~]#

Selanjutnya verifikasi MongoDB dengan cara menjalankan perintah mongo nantinya akan masuk ke server MongoDB, jika ingin melihat versi MongoDB gunakan perintah db.version().

Konfigurasi MongoDB

Langkah selanjutnya melakukan konfigurasi pada MongoDB. File konfigurasi MongoDB bernama mongod.conf dan terletak di direktori /etc, filenya sendiri dalam format YAML.

Dalam konfigurasi MongoDB dapat menyesuaikan dengan case, namun kali ini kami akan mengaktifkan security seperti berikut:

[[email protected] ~]#                                             
[[email protected] ~]# vim /etc/mongod.conf

Uncomment pada menu Security

security:
  authorization: enabled

Jika sudah silakan restart MongoDB

[[email protected] ~]# systemctl restart mongod
[[email protected] ~]#  

Membuat User Admin MongoDB

Jika sebelumnya kita telah mengaktifkan autentikasi di MongoDB, kali ini kita akan membuat user administrator di MongoDB yang berguna untuk mengakses database MongoDB.

Silakan akses MongoDB menggunakan perintah

[[email protected] ~]#
[[email protected] ~]# mongo
MongoDB shell version v4.2.5
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb        
Implicit session: session { "id" : UUID("993f61a4-818c-40fb-b441-d556c870f834") }
MongoDB server version: 4.2.5
>

Ketikan perintah berikut untuk beralih ke admin

> use admin
switched to db admin
>

Membuat user, user yang kami gunakan adalah mongoAdmin dengan privileges userAdminAnyDatabase

>
> db.createUser(
...
... {
... user: "mongoAdmin",
... pwd: "changeMe",
... roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
... }
... )
Successfully added user: {
        "user" : "mongoAdmin",
        "roles" : [
                {
                        "role" : "userAdminAnyDatabase",
                        "db" : "admin"
                }
        ]
}
>
> quit()
[[email protected] ~]# 

Catatan:

  • user: Isi dengan user yang ingin Anda gunakan
  • pwd: Password dari user database

Untuk testing perubahan yang sudah dilakukan, silakan akses shell mongo menggunakan user administrator yang telah dibuat sebelumnya menggunakan perintah berikut:

[[email protected] ~]#
[[email protected] ~]# mongo -u mongoAdmin -p --authenticationDatabase admin
MongoDB shell version v4.2.5
Enter password:[ISI PASSWORD USER mongoAdmin]
connecting to: mongodb://127.0.0.1:27017/?authSource=admin&compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("8abba17b-491f-41f4-b74a-254e5fa64cc1") }
MongoDB server version: 4.2.5
>
> use admin
switched to db admin
>

Tampilkan detail user yang telah dibuat sebelumnya

>
> show users
{
        "_id" : "admin.mongoAdmin",
        "userId" : UUID("083de080-7fb4-4af9-8a3d-f985d0a425cd"),
        "user" : "mongoAdmin",
        "db" : "admin",
        "roles" : [
                {
                        "role" : "userAdminAnyDatabase",        
                        "db" : "admin"
                }
        ],
        "mechanisms" : [
                "SCRAM-SHA-1",
                "SCRAM-SHA-256"
        ]
}
>
> quit()
[[email protected] ~]# 
[[email protected] ~]#

Sekian tutorial terkait instalasi database MongoDB di CentOS 8.

Selamat mencoba semoga bermanfaat ๐Ÿ‘Œ

See You ๐Ÿ˜ƒ