MongoDB is een open-source, modern documentdatabasebeheersysteem dat is ontworpen voor hoogwaardige gegevenspersistentie, hoge beschikbaarheid en automatisch schalen, gebaseerd op de ultramoderne technologie van NoSQL . Onder MongoDB , een record is 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, missiekritieke databases met hoge beschikbaarheid vereisen.
In dit artikel leggen we uit hoe u MongoDB . installeert , beheer de service en stel basisverificatie in op Ubuntu 18.04 .
Belangrijk :Houd er rekening mee dat de ontwikkelaars van MongoDB bieden alleen pakketten aan voor 64-bits LTS (langdurige ondersteuning) Ubuntu-releases zoals 14.04 LTS (betrouwbaar), 16.04 LTS (xenial), enzovoort.
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 kan eenvoudig worden geïnstalleerd met behulp van de APT-pakketbeheerder.
Werk eerst de cache van het systeemsoftwarepakket bij om de meest recente versie van de repositorylijsten te hebben.
$ 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. Nadat u het met succes hebt geïnstalleerd, start de MongoDB-service automatisch via systemd en luistert het proces op poort 27017 . U kunt de status ervan controleren met het systemctl-commando zoals weergegeven.
$ sudo systemctl status mongodb
Stap 2:De MongoDB-service beheren
4. De MongoDB installatie wordt geleverd als een systemd-service en kan eenvoudig worden beheerd via een standaard systemd-commando, zoals weergegeven.
Voer de volgende opdracht uit om het uitvoeren van de MongoDB-service te stoppen.
$ sudo systemctl stop mongodb
Typ de volgende opdracht om een MongoDB-service te starten.
$ sudo systemctl start mongodb
Typ de volgende opdracht om een MongoDB-service opnieuw te starten.
$ sudo systemctl restart mongodb
Typ de volgende opdracht om de automatisch gestarte MongoDB-service uit te schakelen.
$ sudo systemctl disable mongodb
Typ de volgende opdracht om de MongoDB-service weer in te schakelen.
$ sudo systemctl enable mongodb
Stap 3:Schakel MongoDB-toegang op afstand in op firewall
5. Standaard MongoDB draait op poort 27017 , om toegang toe te staan vanaf elke plek die u kunt gebruiken.
$ sudo ufw allow 27017
Maar toegang tot MongoDB van overal geeft onbeperkte toegang tot de databasegegevens. Het is dus beter om toegang te geven tot een specifieke IP-adreslocatie aan de standaard MongoDB-poort met behulp van de volgende opdracht.
$ sudo ufw allow from your_server_IP/32 to any port 27017 $ sudo ufw status
6. Standaard is de poort 27017 is luistert op het lokale adres 127.0.0.1 enkel en alleen. Om externe MongoDB-verbindingen toe te staan, moet u uw server-IP-adres toevoegen aan /etc/mongodb.conf configuratiebestand zoals weergegeven.
bind_ip = 127.0.0.1,your_server_ip #port = 27017
Sla het bestand op, verlaat de editor en start MongoDB opnieuw.
$ sudo systemctl restart mongodb
Stap 4:maak MongoDB-database rootgebruiker en wachtwoord
7. Standaard MongoDB wordt geleverd met gebruikersauthenticatie uitgeschakeld, het is daarom gestart zonder toegangscontrole. Om de mongo shell te lanceren , voer de volgende opdracht uit.
$ mongo
8. Zodra je verbinding hebt gemaakt met de mongo shell , kunt u alle beschikbare databases weergeven met het volgende commando.
> 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 het Salted Challenge Response Authentication Mechanism (SCRAM ) standaard authenticatiemechanisme. SCRAM gebruiken , MongoDB verifieert de verstrekte gebruikersreferenties tegen de gebruikersnaam, het wachtwoord en de authenticatiedatabase (de database waarin de gebruiker is gemaakt, en samen met de gebruikersnaam, dient om de gebruiker te identificeren).
U moet een gebruikersbeheerder maken (analoog aan rootgebruiker onder MySQL/MariaDB ) in de beheerdersdatabase. Deze gebruiker kan gebruikers en rollen beheren, zoals gebruikers maken, gebruikersrollen toekennen of intrekken en douanerollen maken of wijzigen.
Schakel eerst over naar de admin database en maak vervolgens de rootgebruiker met behulp van de volgende commando's.
> use admin > db.createUser({user:"root", pwd:"[email protected]!#@%$admin1", roles:[{role:"root", db:"admin"}]})
Verlaat nu de mongo-shell om authenticatie in te schakelen, zoals hierna wordt uitgelegd.
10. De mongob instantie is gestart zonder de --auth
opdrachtregel optie. U moet authenticatie van gebruikers inschakelen door /lib/systemd/system/mongod.service . te bewerken bestand, open eerst het bestand om het zo te bewerken.
$ sudo vim /lib/systemd/system/mongodb.service
Onder de [Service]
config sectie, zoek 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 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 zich 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 het wordt opgeslagen in het shell-geschiedenisbestand en later door een aanvaller kan worden bekeken.
Dat is alles! MongoDB is een open-source, modern No-SQL databasebeheersysteem dat hoge prestaties, hoge beschikbaarheid en automatisch schalen biedt.
In dit artikel hebben we uitgelegd hoe u MongoDB . installeert en ermee aan de slag gaat in Ubuntu 18.04 . Als je vragen hebt, gebruik dan het onderstaande reactieformulier om ons te bereiken.