Zoeken op website

MongoDB installeren op Ubuntu 18.04


MongoDB is een open-source, modern documentdatabasebeheersysteem dat is ontworpen voor hoogwaardige gegevenspersistentie, hoge beschikbaarheid en automatische schaling, gebaseerd op de modernste technologie van GeenSQL. Onder MongoDB is een record een document, een gegevensstructuur die bestaat uit veld- en waardeparen (MongoDB-documenten zijn vergelijkbaar met JSON-objecten).

Omdat het hoge prestaties en geweldige schaalbaarheidsfuncties biedt, wordt het gebruikt voor het bouwen van moderne applicaties die krachtige, bedrijfskritische databases met hoge beschikbaarheid vereisen.

In dit artikel leggen we uit hoe u MongoDB installeert, de service beheert en basisverificatie instelt op Ubuntu 18.04.

Belangrijk: houd er rekening mee dat de ontwikkelaars van MongoDB alleen pakketten aanbieden voor 64-bit LTS (langdurige ondersteuning) Ubuntu-releases zoals 14,04 LTS (betrouwbaar), 16,04 LTS (xenial), enzovoort.

Lees ook: MongoDB installeren op Ubuntu 16.04/14.04 LTS

Stap 1: MongoDB installeren op Ubuntu 18.04

1. De officiële opslagplaatsen voor softwarepakketten van Ubuntu worden geleverd met de nieuwste versie van MongoDB en kunnen eenvoudig worden geïnstalleerd met behulp van de APT-pakketbeheerder.

Werk eerst de cache van het systeemsoftwarepakket bij, zodat u over de meest recente versie van de repositoryvermeldingen beschikt.

sudo apt update

2. Installeer vervolgens het MongoDB-pakket dat verschillende andere pakketten bevat, zoals mongo-tools, mongodb-clients, mongodb-server< en mongodb-server-core.

sudo apt install mongodb

3. Zodra u het succesvol hebt geïnstalleerd, start de MongoDB-service automatisch via systemd en luistert het proces op poort 27017. U kunt de status ervan verifiëren met de opdracht systemctl, zoals weergegeven.

sudo systemctl status mongodb

Stap 2: Beheer van de MongoDB-service

4. De installatie van MongoDB wordt geleverd als een systemd-service en kan eenvoudig worden beheerd via standaard systemd-opdrachten, zoals weergegeven.

Voer de volgende opdracht uit om de uitvoering van de MongoDB-service te stoppen.

sudo systemctl stop mongodb	

Om een MongoDB-service te starten, typt u de volgende opdracht.

sudo systemctl start mongodb

Om een MongoDB-service opnieuw te starten, typt u de volgende opdracht.

sudo systemctl restart mongodb	

Om de automatisch gestarte MongoDB-service uit te schakelen, typt u de volgende opdracht.

sudo systemctl disable mongodb	

Om de MongoDB-service opnieuw in te schakelen, typt u de volgende opdracht.

sudo systemctl enable mongodb	

Stap 3: Schakel externe MongoDB-toegang op Firewall in

5. MongoDB draait standaard op poort 27017, zodat u overal toegang kunt krijgen.

sudo ufw allow 27017

Maar door overal toegang tot MongoDB te bieden, krijgt u onbeperkte toegang tot de databasegegevens. Het is dus beter om toegang te geven tot een specifieke IP-adreslocatie om de standaardpoort van MongoDB te gebruiken met behulp van de volgende opdracht.

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

6. Standaard luistert poort 27017 alleen op het lokale adres 127.0.0.1. Om externe MongoDB-verbindingen toe te staan, moet u het IP-adres van uw server toevoegen aan het /etc/mongodb.conf configuratiebestand, zoals weergegeven.

bind_ip = 127.0.0.1,your_server_ip
#port = 27017

Sla het bestand op, sluit de editor af en start MongoDB opnieuw.

sudo systemctl restart mongodb

Stap 4: Maak een MongoDB Database Root-gebruiker en wachtwoord

7. Standaard wordt MongoDB geleverd met gebruikersauthenticatie uitgeschakeld, daarom wordt het gestart zonder toegangscontrole. Voer de volgende opdracht uit om de mongo-shell te starten.

mongo 

8. Zodra u verbinding heeft gemaakt met de mongo shell, kunt u met de volgende opdracht alle beschikbare databases weergeven.

> show dbs

9. Om toegangscontrole op uw MongoDB-implementatie in te schakelen om authenticatie af te dwingen; waarbij gebruikers zichzelf moeten identificeren elke keer dat ze verbinding maken met de databaseserver.

MongoDB gebruikt standaard het authenticatiemechanisme Salted Challenge Response Authentication Mechanism (SCRAM). Met behulp van SCRAM verifieert MongoDB de opgegeven gebruikersgegevens aan de hand van de gebruikersnaam, het wachtwoord en de authenticatiedatabase (de database waarin de gebruiker is aangemaakt en dient samen met de gebruikersnaam om de gebruiker te identificeren).

U moet een gebruikersbeheerder aanmaken (analoog aan de rootgebruiker onder MySQL/MariaDB) in de beheerdersdatabase. Deze gebruiker kan gebruikers en rollen beheren, zoals gebruikers aanmaken, rollen van gebruikers toekennen of intrekken, en aangepaste rollen aanmaken of wijzigen.

Schakel eerst over naar de admin database en maak vervolgens de rootgebruiker aan met behulp van de volgende opdrachten.

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

Verlaat nu de mongo-shell om authenticatie in te schakelen, zoals hierna wordt uitgelegd.

10. De instantie mongodb is gestart zonder de opdrachtregeloptie --auth. U moet authenticatie van gebruikers inschakelen door het bestand /lib/systemd/system/mongod.service te bewerken. Open eerst het bestand om het op deze manier te bewerken.

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

Zoek in de configuratiesectie [Service] de parameter ExecStart.

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

Verander het in het volgende:

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

Sla het bestand op en sluit het af.

11. 8. Nadat u wijzigingen in het configuratiebestand heeft aangebracht, voert u 'systemctl daemon-reload' uit om eenheden opnieuw te laden en de MongoDB-service opnieuw te starten en de status ervan als volgt te controleren.

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

12. Wanneer u nu verbinding probeert te maken met mongodb, moet u uzelf authenticeren als een MongoDB-gebruiker. Bijvoorbeeld:

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

Opmerking: het wordt niet aanbevolen om uw wachtwoord op de opdrachtregel in te voeren, omdat dit wordt opgeslagen in het shell-geschiedenisbestand en later door een aanvaller kan worden bekeken.

Dat is alles! MongoDB is een open-source, modern databasebeheersysteem zonder SQL dat hoge prestaties, hoge beschikbaarheid en automatische schaling biedt.

In dit artikel hebben we uitgelegd hoe u MongoDB kunt installeren en ermee aan de slag kunt gaan in Ubuntu 18.04. Als u vragen heeft, kunt u het onderstaande opmerkingenformulier gebruiken om ons te bereiken.