sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur man installerar MongoDB på Ubuntu 18.04

MongoDB är ett modernt hanteringssystem för dokumentdatabas med öppen källkod designat för högpresterande databeständighet, hög tillgänglighet samt automatisk skalning, baserat på den senaste tekniken för NoSQL . Under MongoDB , är en post ett dokument, vilket är en datastruktur som består av fält- och värdepar (MongoDB-dokument är jämförbara med JSON-objekt).

Eftersom det ger hög prestanda och utmärkta skalbarhetsfunktioner, används det för att bygga moderna applikationer som kräver kraftfulla, verksamhetskritiska och högtillgängliga databaser.

I den här artikeln kommer vi att förklara hur du installerar MongoDB , hantera dess tjänst och ställa in grundläggande autentisering på Ubuntu 18.04 .

Viktigt :Du bör notera att utvecklarna av MongoDB Erbjud endast paket för 64-bitars LTS (långtidsstöd) Ubuntu-versioner som 14.04 LTS (pålitlig), 16.04 LTS (xenial) och så vidare.

Steg 1:Installera MongoDB på Ubuntu 18.04

1. Ubuntus officiella programvarupaketförråd kommer med den senaste versionen av MongoDB , och kan enkelt installeras med APT-pakethanteraren.

Uppdatera först systemprogramvarupaketets cache för att ha den senaste versionen av förvarslistorna.

$ sudo apt update

2. Installera sedan MongoDB-paketet som innehåller flera andra paket såsom mongo-tools , mongodb-klienter , mongodb-server och mongodb-server-core .

$ sudo apt install mongodb

3. När du väl har installerat den kommer MongoDB-tjänsten att starta automatiskt via systemd och processen lyssnar på port 27017 . Du kan verifiera dess status med hjälp av systemctl-kommandot som visas.

$ sudo systemctl status mongodb

Steg 2:Hantera MongoDB-tjänsten

4. MongoDB installationen kommer som en systemd service och kan enkelt hanteras via ett standard systemd kommandon som visas.

För att sluta köra MongoDB-tjänsten, kör följande kommando.

$ sudo systemctl stop mongodb	

För att starta en MongoDB-tjänst, skriv följande kommando.

$ sudo systemctl start mongodb

För att starta om en MongoDB-tjänst, skriv följande kommando.

$ sudo systemctl restart mongodb	

För att inaktivera automatiskt startade MongoDB-tjänst, skriv följande kommando.

$ sudo systemctl disable mongodb	

För att aktivera MongoDB-tjänsten igen, skriv följande kommando.

$ sudo systemctl enable mongodb	

Steg 3:Aktivera fjärråtkomst till MongoDB på brandväggen

5. Som standard MongoDB körs på port 27017 , för att tillåta åtkomst var du än kan använda.

$ sudo ufw allow 27017

Men möjliggör åtkomst till MongoDB från överallt ger obegränsad tillgång till databasdata. Så det är bättre att ge åtkomst till specifik IP-adressplats till standard MongoDBs port med följande kommando.

$ sudo ufw allow from your_server_IP/32 to any port 27017 
$ sudo ufw status

6. Som standard porten 27017 är lyssnar på den lokala adressen 127.0.0.1 endast. För att tillåta fjärranslutningar MongoDB måste du lägga till din server IP-adress till /etc/mongodb.conf konfigurationsfil som visas.

bind_ip = 127.0.0.1,your_server_ip
#port = 27017

Spara filen, avsluta redigeraren och starta om MongoDB.

$ sudo systemctl restart mongodb

Steg 4:Skapa MongoDB-databasrotanvändare och lösenord

7. Som standard MongoDB kommer med användarautentisering inaktiverad, den startas därför utan åtkomstkontroll. För att starta mongo-skalet , kör följande kommando.

$ mongo 

8. När du har anslutit till mongo-skalet , kan du lista alla tillgängliga databaser med följande kommando.

> show dbs

9. För att aktivera åtkomstkontroll på din MongoDB-distribution för att framtvinga autentisering; kräver att användare identifierar sig varje gång de ansluter till databasservern.

MongoDB använder Salted Challenge Response Authentication Mechanism (SCRAM ) autentiseringsmekanism som standard. Använder SCRAM , MongoDB verifierar de angivna användaruppgifterna mot användarens namn, lösenord och autentiseringsdatabas (databasen där användaren skapades, och tillsammans med användarens namn, tjänar till att identifiera användaren).

Du måste skapa en användaradministratör (analogt med root-användare under MySQL/MariaDB ) i administratörsdatabasen. Den här användaren kan administrera användare och roller som att skapa användare, bevilja eller återkalla roller från användare och skapa eller ändra tullroller.

Byt först till admin databas och skapa sedan rotanvändaren med följande kommandon.

> use admin 
> db.createUser({user:"root", pwd:"[email protected]!#@%$admin1", roles:[{role:"root", db:"admin"}]})

Avsluta nu mongo-skalet för att aktivera autentisering som förklaras härnäst.

10. mongodb instans startades utan --auth kommandoradsalternativ. Du måste aktivera autentisering av användare genom att redigera /lib/systemd/system/mongod.service fil, öppna först filen för redigering som så.

$ sudo vim /lib/systemd/system/mongodb.service 

Under [Service] config, hitta parametern ExecStart .

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

Ändra det till följande:

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

Spara filen och avsluta den.

11. 8. Efter att ha gjort ändringar i konfigurationsfilen, kör "systemctl daemon-reload ’ för att ladda om enheter och starta om MongoDB-tjänsten och kontrollera dess status enligt följande.

$ systemctl daemon-reload
$ sudo systemctl restart mongodb	
$ sudo systemctl status mongodb	

12. Nu när du försöker ansluta till mongodb , måste du autentisera dig som MongoDB-användare. Till exempel:

$ mongo -u "root" -p --authenticationDatabase "admin"

Obs :Det rekommenderas inte att ange ditt lösenord på kommandoraden eftersom det kommer att lagras i skalhistorikfilen och kan ses senare av en angripare.

Det är allt! MongoDB är ett modernt No-SQL-databashanteringssystem med öppen källkod som ger hög prestanda, hög tillgänglighet och automatisk skalning.

I den här artikeln har vi förklarat hur du installerar och kommer igång med MongoDB i Ubuntu 18.04 . Om du har några frågor, använd kommentarsformuläret nedan för att nå oss.


  1. Ändra åtkomst från MS Excel?

  2. Välj data där intervallet mellan två olika fält innehåller ett givet nummer

  3. MongoDB - Projektionsfrågor

  4. Robust meddelandeserialisering i Apache Kafka med Apache Avro, del 1