MongoDB er et open source, moderne dokumentdatabasestyringssystem designet til højtydende datapersistens, høj tilgængelighed samt automatisk skalering, baseret på den avancerede teknologi fra NoSQL . Under MongoDB , er en post et dokument, som er en datastruktur, der består af felt- og værdipar (MongoDB-dokumenter er sammenlignelige med JSON-objekter).
Fordi det giver høj ydeevne og fremragende skalerbarhedsfunktioner, bliver det brugt til at bygge moderne applikationer, der kræver kraftfulde, missionskritiske og højtilgængelige databaser.
I denne artikel vil vi forklare, hvordan du installerer MongoDB , administrer dens service og opsætning af grundlæggende godkendelse på Ubuntu 18.04 .
Vigtigt :Du skal bemærke, at udviklerne af MongoDB tilbyder kun pakker til 64-bit LTS (langvarig support) Ubuntu-udgivelser såsom 14.04 LTS (troværdig), 16,04 LTS (xenial) og så videre.
Trin 1:Installation af MongoDB på Ubuntu 18.04
1. Ubuntus officielle softwarepakkedepoter kommer med den seneste version af MongoDB , og kan nemt installeres ved hjælp af APT-pakkehåndteringen.
Opdater først systemsoftwarepakkens cache for at have den nyeste version af lageroversigterne.
$ sudo apt update
2. Installer derefter MongoDB-pakken, der inkluderer flere andre pakker såsom mongo-tools , mongodb-klienter , mongodb-server og mongodb-server-core .
$ sudo apt install mongodb
3. Når du har installeret den, starter MongoDB-tjenesten automatisk via systemd, og processen lytter på port 27017 . Du kan bekræfte dens status ved at bruge systemctl-kommandoen som vist.
$ sudo systemctl status mongodb
Trin 2:Administration af MongoDB-tjenesten
4. MongoDB installationen kommer som en systemd service og kan nemt administreres via en standard systemd kommandoer som vist.
For at stoppe med at køre MongoDB-tjenesten skal du køre følgende kommando.
$ sudo systemctl stop mongodb
For at starte en MongoDB-tjeneste skal du skrive følgende kommando.
$ sudo systemctl start mongodb
For at genstarte en MongoDB-tjeneste skal du skrive følgende kommando.
$ sudo systemctl restart mongodb
For at deaktivere automatisk startet MongoDB-tjeneste skal du skrive følgende kommando.
$ sudo systemctl disable mongodb
For at aktivere MongoDB-tjenesten igen, skriv følgende kommando.
$ sudo systemctl enable mongodb
Trin 3:Aktiver fjernadgang til MongoDB på firewall
5. Som standard MongoDB kører på port 27017 , for at tillade adgang fra alle steder, du kan bruge.
$ sudo ufw allow 27017
Men giver adgang til MongoDB fra alle steder giver ubegrænset adgang til databasens data. Så det er bedre at give adgang til specifik IP-adresseplacering til standard MongoDBs port ved hjælp af følgende kommando.
$ sudo ufw allow from your_server_IP/32 to any port 27017 $ sudo ufw status
6. Porten 27017 som standard er lytter på den lokale adresse 127.0.0.1 kun. For at tillade eksterne MongoDB-forbindelser skal du tilføje din server-IP-adresse til /etc/mongodb.conf konfigurationsfil som vist.
bind_ip = 127.0.0.1,your_server_ip #port = 27017
Gem filen, afslut editoren, og genstart MongoDB.
$ sudo systemctl restart mongodb
Trin 4:Opret MongoDB-databaserodbruger og adgangskode
7. Som standard MongoDB leveres med brugergodkendelse deaktiveret, den er derfor startet uden adgangskontrol. For at starte mongo-skallen , kør følgende kommando.
$ mongo
8. Når du har oprettet forbindelse til mongo-skallen , kan du liste alle tilgængelige databaser med følgende kommando.
> show dbs
9. For at aktivere adgangskontrol på din MongoDB-implementering for at gennemtvinge godkendelse; kræver, at brugere identificerer sig selv, hver gang de opretter forbindelse til databaseserveren.
MongoDB bruger Salted Challenge Response Authentication Mechanism (SCRAM ) godkendelsesmekanisme som standard. Bruger SCRAM , MongoDB verificerer de leverede brugerlegitimationsoplysninger mod brugerens navn, adgangskode og autentificeringsdatabase (databasen, hvori brugeren blev oprettet, og sammen med brugerens navn tjener til at identificere brugeren).
Du skal oprette en brugeradministrator (analog med root-bruger under MySQL/MariaDB ) i administratordatabasen. Denne bruger kan administrere bruger og roller såsom oprettelse af brugere, tildele eller tilbagekalde roller fra brugere og oprette eller ændre toldroller.
Skift først til admin database, og opret derefter rodbrugeren ved hjælp af følgende kommandoer.
> use admin > db.createUser({user:"root", pwd:"[email protected]!#@%$admin1", roles:[{role:"root", db:"admin"}]})
Afslut nu mongo-skallen for at aktivere godkendelse som forklaret næste.
10. mongodb instans blev startet uden --auth
kommandolinje mulighed. Du skal aktivere godkendelse af brugere ved at redigere /lib/systemd/system/mongod.service fil, skal du først åbne filen for at redigere sådan.
$ sudo vim /lib/systemd/system/mongodb.service
Under [Service]
config-afsnittet, find parameteren ExecStart .
ExecStart=/usr/bin/mongod --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS
Skift det til følgende:
ExecStart=/usr/bin/mongod --auth --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS
Gem filen og afslut den.
11. 8. Efter at have foretaget ændringer i konfigurationsfilen, kør ‘systemctl daemon-reload ' for at genindlæse enheder og genstarte MongoDB-tjenesten og kontrollere dens status som følger.
$ systemctl daemon-reload $ sudo systemctl restart mongodb $ sudo systemctl status mongodb
12. Når du nu prøver at oprette forbindelse til mongodb , skal du autentificere dig selv som MongoDB-bruger. For eksempel:
$ mongo -u "root" -p --authenticationDatabase "admin"
Bemærk :Det anbefales ikke at indtaste din adgangskode på kommandolinjen, fordi den vil blive gemt i shell-historikfilen og kan ses senere af en angriber.
Det er alt! MongoDB er et open source, moderne No-SQL database management system, der giver høj ydeevne, høj tilgængelighed og automatisk skalering.
I denne artikel har vi forklaret, hvordan du installerer og kommer i gang med MongoDB i Ubuntu 18.04 . Hvis du har spørgsmål, kan du bruge kommentarformularen nedenfor for at kontakte os.