50% rabat alle planer, begrænset tid. Start kl $2.48/mo
12 min tilbage
Databaser og analyse

Sådan installeres MongoDB på de tre seneste versioner af Ubuntu (trin-for-trin)

Jim Schwarz By Jim Schwarz 12 min læst
Originalt symbol på MongoDB præsenteret på en futuristisk server for at installere MongoDB på Ubuntu+ tagline om, hvad man kan forvente af artiklen + titel på artiklen + Cloudzy brand logo

Så du har besluttet at bruge MongoDB, en fantastisk alternative to MariaDB til at bygge en MERN stack-app, en analyseplatform eller ethvert dokumentbaseret system, men har ramt en mur med gode gamle Linux-kommandolinjer og utallige terminalfejl. 

Men ingen bekymringer, for denne guide giver alt, hvad du behøver at vide fra A til Z for at installere MongoDB på Ubuntu.

MongoDB bruger X.Y.Z versionering. 8.0 er en major udgivelsesserie, og 8.2 er en mindre frigives inden for den 8.0-cyklus. Mindre udgivelser tilføjer funktioner inden for den samme store cyklus og, startende med 8.0, tilbydes de også til on-prem installationer til specifikke brugstilfælde (for eksempel Search og Vector Search). MongoDB 8.0 på Ubuntu understøtter 24.04 (Noble), 22.04 (Jammy) og 20.04 (Focal) på 64-bit systemer, med ARM64-understøttelse på udvalgte platforme.

GnuPG og Curl Forudsætninger

Før du installerer den officielle mongodb-org pakke, kræver Ubuntu to forudsætninger: GnuPG og Krølle. Disse værktøjer giver Ubuntu tilladelse til at downloade MongoDB, fordi Ubuntus egen mongodb pakken vedligeholdes ikke af MongoDB Inc. og er i konflikt med embedsmanden mongodb-org pakke. Hvis du allerede har installeret mongodb sørg for at afinstallere det.

Næste, kør kommandoen sudo apt-get installer gnupg curl. Curl er et værktøj til at downloade filer fra internettet og er nødvendigt for at hente MongoDBs sikkerhedsnøgle. GnuPG er, hvad Ubuntu bruger til at verificere software-ægthed. Hvis GnuPG mangler, kan Ubuntu ikke bekræfte MongoDB-pakker.

Sørg for, at din terminal har installeret GnuPG og Curl. Hvis det gjorde, skulle det se sådan ud:Ubuntu terminal output efter tilføjelse af GnuPG og Curl

Importerer MongoDB GPG-nøgle

Ubuntus pakkehåndtering, APT, bruger GPG-nøgler til at bekræfte pakker før installation. Uden denne GPG-nøgle tillader Ubuntu ikke, at MongoDBs repositories tilføjes. Indtast følgende kommando i din terminal for at tilføje nøglen:

curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | \
   sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg \
   --dearmor

Hvis det virker, skal din terminaludgang se sådan ud:Ubuntu-terminal efter succesfuld tilføjelse af MongoDBs GPG-nøgle.

For at sige det enkelt downloader denne kommando MongoDBs sikkerhedssignatur, konverterer den til et format Ubuntu kan læse og gemmer den i en sikker systemmappe. Her er en oversigt over kommandolinjen sektion for sektion:

  1. curl -fsSL URL downloader MongoDBs officielle nøgle
  2. – kære konverterer nøglen fra tekstformat til binær for Ubuntu at forstå
  3. -o /usr/share/keyrings/mongodb-server-8.0.gpg gemmer den binære fil i en mappe, hvor Ubuntu gemmer betroede nøgler

Hvis du matcher hver kommandolinje perfekt, vil den offentlige GPG-nøgle blive tilføjet uden problemer. Nogle brugere støder dog på problemer, når de downloader MongoDB på grund af en uoverensstemmende GPG-nøgle. Fejl som:

NO_PUBKEY
The following signatures couldn't be verified
public key not available

Sker, når du ikke følger de nøjagtige GPG-tastkommandoer tidligere og i stedet bruger sudo apt-tast fordi moderne Ubuntu ikke anbefaler det.

Tilføj MongoDB Repository

Tilføjelse af MongoDB's Repository opretter en fil, der fortæller Ubuntu, at MongoDB-pakker er live på en bestemt internetadresse. Opret listefilen på /etc/apt/sources.list.d/mongodb-org-8.0.list ved at skrive depotlinjen ind i den vha ekko … | sudo t-shirt...

Det er her, det bliver vanskeligt, da forskellige versioner af Ubuntu kræver en anden variation af denne kommando. Vi vil nu undersøge, hvordan man importerer listefilen på de tre tidligere nævnte versioner af Ubuntu.

Ubuntu 24.04 (Noble)

For at oprette listefilen på Ubuntu 24.04 skal du blot sætte echo “deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/8.0 multiverse” | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list på din terminal.

Dette kan se forvirrende ud, men lad være med at svede det. Når vi deler kommandoen op i sektioner, vil den være krystalklar.

  1. ekko udskriver tekst
  2. /etc/apt/sources.list.d er den mappe, hvor Ubuntu gemmer softwarekildedefinitioner. Hver fil med .liste format inde i mappen peger Ubuntu til et bestemt sted at downloade software fra
  3. Du kan som standard ikke skrive noget i systemmapper som en normal bruger. tee giver brugeren særlig tilladelse til at skrive tekst i systemfiler, mens du bruger sudo
  4. ædel er kodenavnet til Ubuntu 24.04. Hver Ubuntu-version har et kodenavn som:
Version Kodenavn
20.04 Fokal
22.04 Jammy
24.04 Noble

Hvis du ikke matcher din version af Ubuntu med den rigtige kommandolinje, genkender Ubuntu ikke MongoDB's repository.

Ubuntu 22.04 (Jammy)

Tilføjelse af listefilen til Ubuntu Jammy ser præcis det samme ud, men du skal indtaste kommandolinjen, mens du udskifter ædel med jammy, sådan her:

echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list

Sørg for, at det er den, der matcher din Ubuntu-version, ellers mislykkes den igen.

Ubuntu 20.04 (Fokal)

Følg de samme trin her, men i stedet for ædel or jammy, sætte ind fokal:

echo “deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/8.0 multiverse” | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list

Nu med lageret sat op, kan du fortsætte med at installere mongodb-org.

Opdater pakkedatabasen

Nu hvor depotet er genkendt af Ubuntu, skal du genindlæse pakkedatabasen inde i det, så fra nu af inkluderer det også MongoDB. Udsted kommandoen nævnt nedenfor:

sudo apt-get update

Denne kommando forbliver den samme på tværs af alle Ubuntu-versioner, og hvis den springes over, inkluderer Ubuntu ikke MongoDB. Hvis kommandoen gør sit arbejde, skal dit terminaloutput være:Ubuntu terminal output efter at have kørt sudo apt-get update

 Nu, efter at have genindlæst din pakkedatabase, er det tid til at downloade MongoDB-pakker.

Installer MongoDB Community Server

Der er forskellige MongoDB-udgivelser at installere, men brugere har en tendens til at gå med den seneste stabile version, da den er mere at foretrække. Kør for at installere den seneste stabile version sudo apt-get install -y mongodb-org

Ubuntu har nu downloadet MongoDB-pakkerne, installeret dem, oprettet en MongoDB-brugerkonto og en datamappe og registreret MongoDB som en systemtjeneste. Nu har vi dækket, hvordan man downloader MongoDB på Ubuntu. Lad os nu starte det op.

Sådan starter du MongoDB

Nu, for at køre MongoDB, skal vi fortælle Ubuntus service manager, "systemd", at genkende MongoDB som en baggrundstjeneste, og for at gøre det skal du skrive følgende kommando i din terminal:

sudo systemctl start mongod

Hvis kommandoen gør sit job, åbner Ubuntu nu MongoDB som en baggrundsapplikation. Hvis kommandoen ikke gør sit arbejde, kan du muligvis modtage en fejl svarende til Kunne ikke starte mongod.service.

Dette kan ske på grund af flere almindelige problemer:

  • Konfigurationsfil fejl in /etc/mongod.conf (YAML-indrykningsfejl er almindelige)
  • Havnekonflikt (port 27017 er allerede optaget)
  • Spørgsmål om tilladelse på data eller log-mapper (var/lib/mongodb eller var/log/mongodb)
  • Disken er fuld or korrupt filsystemtilstand

Tre kommandoer til at diagnosticere problemetFuturistisk serveropsætning + tre ubuntu-terminalkommandoer + sky med opgraderingsstiskrivning.

Det er nemt at sige, hvad der kan være galt med din konfiguration, som MongoDB ikke kører, men det er meget sværere at udpege den nøjagtige årsag. Tre nemme måder, du kan diagnosticere, hvor fejlen kan komme fra, er:

  1. Tjek servicestatus: sudo systemctl status mongod –no-pager
  2. Tjek detaljerede logfiler (vigtigst): sudo journalctl -u mongod –no-pager -n 100
  3. Tjek MongoDBs egen logfil

Men bemærk venligst, at hvis din disk er fuld, eller systemfiler er beskadiget, vil rettelsen handle mere om din hardware i stedet for software. Brugere skal muligvis købe bedre udstyr til deres serveropsætning for at kunne køre MongoDB effektivt, hvis deres nuværende opsætning er forældet. 

Hvis det ikke er i dit budget at købe en fuld-on server, kan du overveje at tjekke Cloudzy's Ubuntu VPS for en ren oplevelse på din egen private server med en Ubuntu distro efter din smag. Det følger med 24/7 støtte og op til 40Gbps netværkshastighed, takket være dens NVMe SSD og DDR5 RAM opbevaring.

Desuden har den minimal latenstid, 99.95% oppetid og en 14 dage pengene-tilbage-garanti. Ikke kun det, men det er også tilgængeligt i 12 steder over hele kloden til en overkommelig pris.

Tre mest almindelige rettelser til at få MongoDB til at køre

Der er ingen absolut måde at både genkende dit systems nøjagtige problem med MongoDB og at løse det med et enkelt trin. Så her er nogle almindelige rettelser, du kan bruge til forhåbentlig at få din MongoDB til at begynde at køre.

  1. YAML-konfigurationsindrykningsfejl. Antag, at du har redigeret /etc/mongod.conf tjek fordybningen igen ved at spørge sudo nano /etc/mongod.conf. YAML-filen er ret følsom over for mellemrum, så sørg for, at der kun er to mellemrum pr. niveau i /etc/mongod.conf.
  2. Besat havn 27017. Hvis noget andet bruger port 27017, skal du lukke den ned eller ændre MongoDBs port i mongod.conf. Hvis du er usikker på noget, der kører på port 27017, er du velkommen til at køre sudo ss -lntp | grep 27017 at tjekke det ud
  3. Tilladelsesproblem i databiblioteket. Nogle gange mangler MongoDB tilladelse til at køre på dit system og kører derfor slet ikke. Første løb sudo chown -R mongodb:mongodb /var/lib/mongodb /var/log/mongodb, og genstart derefter MongoDB med sudo systemctl genstart mongod

Ifølge MongoDBs officielle hjemmeside, en anden måde at omgå dette problem på er at genindlæse dæmonen med sudo systemctl daemon-genindlæs, og kør den første kommando, sudo systemctl start mongod, igen.

Hvis der er nej mongod.service, installerede installationen ikke systemd-enheden, så geninstaller mongodb-org pakkesæt.

Med alt det sagt, kan du derefter bekræfte, om MongoDB er startet med succes sudo systemctl status mongod. Hvis terminalen siger aktiv (løbende), du er god til at gå. Men der er stadig nogle yderligere konfigurationer, der gør din oplevelse meget glattere.

Gør MongoDB automatiseretFuturistisk serveropsætning med MongoDB automatiseringssymbol + terminal med MongoDB kommando + logfil

MongoDB åbner ikke automatisk hver gang du tænder din server; du bliver nødt til at gentage nogle af de nævnte trin hver gang. Du kan eventuelt bede Ubuntu om at starte MongoDB efter opstart på dit skrivebord.

Bare løb sudo systemctl aktivere mongod på din terminal, som fra nu af vil fortælle dit system at køre MongoDB efter hver genstart. Desuden kan du genstarte mongod proces ved at udstede kommandoen sudo systemctl genstart mongod. Derudover skal brugere muligvis følge processen for eventuelle fejl eller vigtige meddelelser ved at gennemgå outputtet i filen:

/var/log/mongodb/mongod.log

Nu hvor alt det er sat op, lad os begynde at bruge din mongod.

Åbning af MongoDB Shell

For at interagere med deres database skal brugere åbne en MongoDB shell ved at udstede kommandoen mongosh. Tænk på det som en dedikeret kommandopromptterminal til MongoDB eller en MySQL-konsol. Alternativt kan du interagere med MongoDB med GUI-værktøjer, såsom MongoDB-drivere. Men hvis du vil interagere med det fra terminalen, mongosh er lavet for at få det til at ske.

Din MongoDB vil nu være fuldt funktionsdygtig, men der er nogle yderligere trin, du skal overveje for at gøre den sikker.

Gør MongoDB godkendtMongoDB-godkendelsesproces + låsesymbol + bekræftelse af godkendelse.

MongoDB har som standard ingen adgangskodebeskyttelse, fordi du allerede skal have adgang til at oprette en bruger. Her er en enkel måde at få det til at ske

Opret en administratorbruger

Først skal du skifte til admin databasen med:

use admin

Opret derefter en bruger med db.createUser({…}). Udfyld det med din

  • Brugernavn
  • Adgangskode
  • Rolle

For rolle, helst type rod hvilket betyder fuld kontrol eller admin.

Aktiver godkendelse

Nu hvor vi har vores egen brugeropsætning, skal vi redigere /etc/mongod.conf fil. Det er fordi denne fil styrer, hvordan MongoDB opfører sig. Men husk, at ved at redigere filen skal du altid genstarte mongod service bagefter med sudo systemctl genstart mongod. Det, vi skal ændre her, er en parameter kaldet autorisation, der ser sådan ud:

security:

  authorization:

For at fuldføre godkendelsesprocessen skal du blot ændre autorisationsværdien sådan:

security:

  authorization: enabled

Fra nu af kræver MongoDB et login, så din autentificering er afsluttet. Lad os nu fortsætte til en anden konfiguration, der fuldt ud udnytter MongoDB.

Åbn din firewall

Som tidligere nævnt kører MongoDB på port 27017. Da firewalls blokerer porte som standard, skal du fortælle din firewall om at tillade programmer at køre på 27017. For at få det til at ske, skal du blot udsende kommandoen:

ufw allow from YOUR_IP to any port 27017

Alternativt kan du også udstede kommandoen ufw tillade 27017, men vær forsigtig, for at køre dette vil give hele internettet adgang til den port. Det kan være din sikreste indsats bare at gå med den første mulighed, da den tillader trafik kun at få adgang til porten fra din IP-adresse.

Brugere kan stadig stå over for udfordringer, når de kører MongoDB, såsom problemet med fjernadgang. Hold dig rundt for at finde ud af, hvordan du løser det.

Problem med fjernadgangServeropsætning med 3 skærme, der konfigurerer MongoDBs fjernadgangsindstillinger + terminalkommandoer.

MongoDB lanceres med bindIp. bindIp begrænser MongoDB til 127.0.0.1, der kun tillader lokale forbindelser. Derfor, hvis du skulle oprette forbindelse til din MongoDB-server fra et andet sted, ville du ikke få adgang, da MongoDB som standard er konfigureret til kun at tillade on-site forbindelser, medmindre andet er konfigureret.

Igen, gå ud til /etc/mongod.conf, og du vil se tre linjer som denne:

net:

  port: 27017

  bindIp: 127.0.0.1

Hvis du vil tillade fjernforbindelser til din mongod bruger, skal du ændre værdierne præsenteret ovenfor på denne måde:

net:

  port: 27017

  bindIp: 0.0.0.0

Genstart derefter din mongod service med sudo systemctl genstart mongod som med enhver anden redigering, du gør på filen.

Du har nu givet din mongod tjenestetilladelse til at acceptere fjernforbindelser. Men vær forsigtig, da du ved at gøre dette vil eksponere din database for hele internettet, hvis du endnu ikke har godkendt din mongod bruger. Der er mange bots, der konstant scanner efter åbne MongoDB-porte, så sørg altid for, at din mongod-bruger har en adgangskode.

Oversigt over store billeder

Tillykke, du har nu gjort alt for at skabe en optimeret MongoDB-tjeneste til dit Ubuntu-system. Her er også et mentalt kort til at spore hvert trin, der præsenteres i denne artikel.

Kommando Hvad det gør
passende opdatering Opdater softwarelisten
passende installation Installer software
krølle Download fil
gpg Administrer krypteringsnøgler
ekko Udskriv tekst
tee Skriv til beskyttet fil
systemctl start Start service
systemctl aktivere Start ved opstart
systemctl status Tjek service
mongosh Indtast MongoDB shell
Redigere /etc/mongod.conf Aktiver godkendelse
ufw Administrer firewall
bindIp Tillad fjernadgang

Det burde hjælpe dig til bedre at forstå hele processen. Men hvis opsætning af MongoDB på egen hånd er for meget for dig, så sørg for at skrue op for Cloudzy's MongoDB VPS til din egen private Ubuntu 24.04 LTS-server med MongoDB forudinstalleret.

Det følger med 99.95% oppetid, 24/7 støtte, og en 14 dage pengene-tilbage-garanti. Udover det understøtter den op til 40 Gbps af båndbredde takket være dens DDR5 RAM og NVMe SSD opbevaring. Du skal ikke engang bekymre dig om, hvor du bor, for den er også tilgængelig i 12 steder over hele verden til en overkommelig pris.

Men med alt det sagt, har du endelig formået at opsætte din egen dygtige MongoDB-tjeneste udstyret med enhver konfiguration for at understøtte arbejdsbelastninger og virksomheder på produktionsniveau.

Dele

Mere fra bloggen

Fortsæt med at læse.

Smart Data Management til din virksomhed: "Cloud-Like" Storage og Backup Strategier med VPS
Databaser og analyse

Smart Data Management til din virksomhed: "Cloud-Like" Storage og Backup Strategier med VPS

VPS til sikker virksomhedsdataadministration er den strategi, jeg anbefaler, hver gang en virksomhed beslutter, at det er tid til at stoppe med at jonglere med filer på tværs af bærbare computere, vedhæftede filer i e-mails og halvt glemt

Rexa CyrusRexa Cyrus 7 min læst
Materialiseret udsigt vs. udsigt
Databaser og analyse

Materialiseret visning vs. visning: Forståelse af deres rolle i databaser

I databasesystemer gemmer en materialiseret visning som et databaseobjekt de forudberegnede resultater af en forespørgsel som en fysisk tabel. Fordi dataene faktisk er gemt på disken, komplicerer det

Ivy JohnsonIvy Johnson 7 min læst
SnowFlake vs DataBricks
Databaser og analyse

Databricks vs Snowflake: Uvildig sammenligning af dataprofessionelle 🧱❄️

For virksomheder, der er afhængige af data til at drive beslutninger – uanset om det er e-handelsplatforme, der sporer kundeadfærd, finansielle institutioner, der forudsiger tendenser, eller teknologivirksomheder

Allan Van KirkAllan Van Kirk 13 min læst

Klar til at implementere? Fra $2,48/md.

Uafhængig sky, siden 2008. AMD EPYC, NVMe, 40 Gbps. 14 dages pengene tilbage.