Bagaimana cara memasang sistem pangkalan data MongoDB di Ubuntu?

MongoDB

Di blog ini kita telah membincangkan beberapa sistem pangkalan data, di antaranya yang paling popular adalah MariaDB dan MySQL, kerana ia adalah sistem yang biasanya disertakan dalam Xampp atau Lampp. Kali ini kita akan bercakap sistem lain yang MongoDB.

MongoDB adalah sistem pangkalan data NoSQL berorientasikan dokumen sumber terbuka, Ini adalah sistem pengurusan pangkalan data dokumen moden yang direka untuk ketekunan data berprestasi tinggi, ketersediaan tinggi, serta penskalaan automatik, berdasarkan teknologi teknik NoSQL.

Daripada menyimpan data dalam jadual seperti yang dilakukan dalam pangkalan data relasional, MongoDB menyimpan struktur data dalam dokumen, yang merupakan struktur data yang terdiri dari pasangan medan dan nilai (dokumen MongoDB setanding dengan objek JSON).

Kerana menyediakan prestasi tinggi dan ciri skalabilitas yang sangat baik, ia digunakan untuk membina aplikasi moden yang memerlukan pangkalan data yang kuat, penting untuk misi dan sangat tersedia.

Pemasangan MongoDB di Ubuntu

Untuk memasang sistem pangkalan data ini pada sistem kami, Kita hanya perlu membuka terminal dan melaksanakan perintah berikut di dalamnya:

sudo apt install mongodb

Pemasangan selesai, Perkhidmatan MongoDB akan bermula secara automatik melalui systemd dan prosesnya akan berjalan di port 27017. Anda boleh menyemak statusnya menggunakan arahan:

sudo systemctl status mongodb

Sekiranya tidak, kita boleh memaksa permulaan dengan arahan ini:

sudo systemctl start mongodb

Mengaktifkan sambungan jarak jauh ke MongoDB

Mongo DB 1

Sistem pangkalan data MongoDB secara lalai menggunakan port 27017 yang mesti kita buka Untuk menerima sambungan jarak jauh, kami hanya mengaktifkannya dengan arahan berikut.

sudo ufw allow 27017

Secara lalai, port 27017 hanya dapat diakses dari alamat tempatan 127.0.0.1. Untuk membenarkan sambungan jauh ke MongoDB, perlu menambahkan alamat IP pelayan dalam fail /etc/mongodb.conf

Cukup edit dengan:

sudo nano

Dan kita dapat melihat sesuatu yang serupa dengan ini:

bind_ip = 127.0.0.1, your_server_ip

#port = 27,017

Yang kami edit dengan data dari pelayan kami.

Membolehkan akses ke MongoDB dari mana-mana, ia memberikan akses tanpa had ke data dalam pangkalan data. Oleh itu, lebih baik memberi akses ke alamat IP lalai khusus lokasi dari port MongoDB.

sudo ufw allow from your_server_IP/32 to any port 27017

sudo ufw status

Setelah ini selesai, sudah cukup untuk memulakan semula perkhidmatan sehingga perubahan baru dimuat pada awal, ini kami lakukan dengan:

sudo systemctl restart mongodb

Buat pengguna di MongoDB dengan kata laluan

Secara lalai pangkalan data mempunyai akses yang cukup mudah, jadi untuk mengukuhkannya kita dapat membuat pengguna dengan kata laluan.

MongoDB menggunakan mekanisme pengesahan SCRAM secara lalai. Menggunakan SCRAM pada sistem mengesahkan bukti kelayakan pengguna yang disediakan terhadap nama pengguna, kata laluan, dan pangkalan data pengesahan.

Cukup mulakan konsol pangkalan data dengan arahan berikut:

Mongo

Kita boleh membuat senarai pangkalan data yang ada dengan:

show dbs

Kita boleh membuat pengguna yang membolehkan kita mengurus pengguna dan fungsi seperti membuat pengguna, memberi atau mencabut peranan pengguna, dan membuat atau mengubah peranan kastam.

Taip sahaja

use admin

Dan kami membuat pengguna dengan arahan berikut, di mana kami mengganti nama pengguna "root" dan kata laluan "kata laluan", dengan akses crecenciales yang kami anggap sesuai.

db.createUser({user:"root", pwd:"password", roles:[{role:"root", db:"admin"}]})

Setelah ini selesai, kita mesti mengaktifkan kaedah pengesahan untuk ini kami akan menyunting fail berikut:

sudo nano /lib/systemd/system/mongodb.service

Dan kami akan mencari barisan seterusnya:

ExecStart=/usr/bin/mongod --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS

dan sunting sehingga seperti berikut:

ExecStart=/usr/bin/mongod --auth --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS

Sekarang kita hanya but semula dalam pangkalan data

systemctl daemon-reload

sudo systemctl restart mongodb

sudo systemctl status mongodb              

Y Kami menguji kaedah pengesahan dengan:

mongo -u "usuario" -p --authenticationDatabase "contraseña"

Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.

  1.   Dapat dikesan kata

    Tolong saya dengan KESILAPAN ini.

    2021-03-24T21: 33: 16.233 + 0000 E QUERY [thread1] Ralat: listDatabases gagal: {
    «Ok»: 0,
    "Errmsg": "tidak diizinkan oleh admin untuk melaksanakan perintah {listDatabases: 1.0, $ db: \" admin \ "}",
    "Kod": 13,
    "CodeName": "Tidak dibenarkan"
    }:
    _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