Πώς να εγκαταστήσετε το σύστημα βάσης δεδομένων MongoDB στο Ubuntu;

MongoDB

Σε αυτό το blog έχουμε μιλήσει για ορισμένα συστήματα βάσεων δεδομένων, μεταξύ των οποίων τα πιο δημοφιλή είναι τα MariaDB και MySQL, καθώς είναι τα συστήματα που συνήθως περιλαμβάνονται στο Xampp ή στο Lampp. Αυτή τη φορά πρόκειται να μιλήσουμε ένα άλλο σύστημα που είναι MongoDB.

Το MongoDB είναι ένα σύστημα βάσεων δεδομένων NoSQL προσανατολισμένο σε έγγραφο ανοιχτού κώδικα, Αυτό είναι ένα σύγχρονο σύστημα διαχείρισης βάσεων δεδομένων εγγράφων που έχει σχεδιαστεί για επιμονή δεδομένων υψηλής απόδοσης, υψηλή διαθεσιμότητα, καθώς και αυτόματη κλιμάκωση, με βάση την τεχνολογία της τεχνικής NoSQL.

Αντί να αποθηκεύει δεδομένα σε πίνακες όπως γίνεται σε σχεσιακές βάσεις δεδομένων, το MongoDB αποθηκεύει δομές δεδομένων σε ένα έγγραφο, η οποία είναι μια δομή δεδομένων που αποτελείται από ζεύγη πεδίων και τιμών (τα έγγραφα MongoDB είναι συγκρίσιμα με τα αντικείμενα JSON).

Επειδή παρέχει υψηλή απόδοση και εξαιρετικά χαρακτηριστικά επεκτασιμότητας, χρησιμοποιείται για τη δημιουργία σύγχρονων εφαρμογών που απαιτούν ισχυρές, κρίσιμες για την αποστολή και εξαιρετικά διαθέσιμες βάσεις δεδομένων.

Εγκατάσταση MongoDB στο Ubuntu

Για να εγκαταστήσετε αυτό το σύστημα βάσης δεδομένων στο σύστημά μας, Πρέπει να ανοίξουμε μόνο ένα τερματικό και να εκτελέσουμε την ακόλουθη εντολή σε αυτό:

sudo apt install mongodb

Η εγκατάσταση ολοκληρώθηκε, Η υπηρεσία MongoDB θα ξεκινήσει αυτόματα μέσω του systemd και η διαδικασία θα εκτελεστεί στη θύρα 27017. Μπορείτε να ελέγξετε την κατάστασή της χρησιμοποιώντας την εντολή:

sudo systemctl status mongodb

Εάν όχι, μπορούμε να ξεκινήσουμε με αυτήν την εντολή:

sudo systemctl start mongodb

Ενεργοποίηση απομακρυσμένων συνδέσεων στο MongoDB

Mongo DB 1

Το σύστημα βάσης δεδομένων MongoDB χρησιμοποιεί από προεπιλογή τη θύρα 27017 την οποία πρέπει να ανοίξουμε Για να αποδεχτούμε απομακρυσμένες συνδέσεις, το ενεργοποιούμε μόνο με την ακόλουθη εντολή.

sudo ufw allow 27017

Από προεπιλογή, η θύρα 27017 είναι προσβάσιμη μόνο από την τοπική διεύθυνση 127.0.0.1. Για να επιτρέψετε απομακρυσμένες συνδέσεις στο MongoDB, είναι απαραίτητο να προσθέσετε τη διεύθυνση IP του διακομιστή στο αρχείο /etc/mongodb.conf

Απλώς επεξεργαστείτε το με:

sudo nano

Και μπορούμε να δούμε κάτι παρόμοιο με αυτό:

bind_ip = 127.0.0.1, your_server_ip

#port = 27,017

Τα οποία επεξεργαζόμαστε με τα δεδομένα του διακομιστή μας.

Επιτρέποντας την πρόσβαση στο MongoDB από παντού, παρέχει απεριόριστη πρόσβαση στα δεδομένα της βάσης δεδομένων. Επομένως, είναι προτιμότερο να παραχωρήσετε πρόσβαση στην προεπιλεγμένη διεύθυνση IP συγκεκριμένης τοποθεσίας της θύρας MongoDB.

sudo ufw allow from your_server_IP/32 to any port 27017

sudo ufw status

Μόλις γίνει αυτό, αρκεί να επανεκκινήσετε την υπηρεσία έτσι ώστε οι νέες αλλαγές να φορτωθούν στην αρχή, αυτό κάνουμε με:

sudo systemctl restart mongodb

Δημιουργήστε έναν χρήστη στο MongoDB με κωδικό πρόσβασης

Από προεπιλογή, η βάση δεδομένων έχει πολύ απλή πρόσβαση, έτσι ώστε να το ενισχύσουμε μπορούμε να δημιουργήσουμε έναν χρήστη με κωδικό πρόσβασης.

Το MongoDB χρησιμοποιεί το μηχανισμό ελέγχου ταυτότητας SCRAM από προεπιλογή. Η χρήση του SCRAM στο σύστημα επαληθεύει τα παρεχόμενα διαπιστευτήρια χρήστη έναντι του ονόματος χρήστη, του κωδικού πρόσβασης και της βάσης δεδομένων ελέγχου ταυτότητας.

Απλώς ξεκινήστε την κονσόλα βάσης δεδομένων με την ακόλουθη εντολή:

Mongo

Μπορούμε να δημιουργήσουμε μια λίστα με τις υπάρχουσες βάσεις δεδομένων με:

show dbs

Μπορούμε να δημιουργήσουμε έναν χρήστη που θα μας επιτρέψει να διαχειριστούμε τους χρήστες και τις λειτουργίες όπως δημιουργία χρηστών, παραχώρηση ή ανάκληση ρόλων χρηστών και δημιουργία ή τροποποίηση τελωνειακών ρόλων.

Απλά γράψε

use admin

Και δημιουργούμε τον χρήστη με την ακόλουθη εντολή, όπου αντικαθιστούμε το όνομα του χρήστη "root" και τον κωδικό πρόσβασης "password", από την πρόσβαση crecenciales που πιστεύουμε ότι είναι κατάλληλη.

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

Μόλις γίνει αυτό, πρέπει να ενεργοποιήσουμε τη μέθοδο ελέγχου ταυτότητας για αυτό θα επεξεργαστούμε το ακόλουθο αρχείο:

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

Και θα αναζητήσουμε την επόμενη γραμμή:

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

και επεξεργαστείτε έτσι ώστε να έχει ως εξής:

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

Τώρα απλώς κάνουμε επανεκκίνηση στη βάση δεδομένων

systemctl daemon-reload

sudo systemctl restart mongodb

sudo systemctl status mongodb              

Y Δοκιμάζουμε τη μέθοδο ελέγχου ταυτότητας με:

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

Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.

  1.   Ανιχνεύσιμο dijo

    Βοηθήστε με με αυτό το ΣΦΑΛΜΑ.

    2021-03-24T21: 33: 16.233 + 0000 E QUERY [thread1] Σφάλμα: listDatabases απέτυχε: {
    «Εντάξει»: 0,
    "Errmsg": "δεν έχει εξουσιοδότηση στον διαχειριστή για εκτέλεση της εντολής {listDatabases: 1.0, $ db: \" admin \ "}"
    "Κωδικός": 13,
    "CodeName": "Μη εξουσιοδοτημένο"
    }:
    _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