MongoDB je open-source, moderní systém pro správu databází dokumentů navržený pro vysoce výkonnou perzistenci dat, vysokou dostupnost a také automatické škálování, založený na nejmodernější technologii NoSQL . V části MongoDB , záznam je dokument, což je datová struktura, která se skládá z párů polí a hodnot (dokumenty MongoDB jsou srovnatelné s objekty JSON).
Protože poskytuje vysoký výkon a skvělé funkce škálovatelnosti, používá se pro vytváření moderních aplikací, které vyžadují výkonné, kritické a vysoce dostupné databáze.
V tomto článku vysvětlíme, jak nainstalovat MongoDB , spravovat jeho službu a nastavit základní ověřování na Ubuntu 18.04 .
Důležité :Měli byste si uvědomit, že vývojáři MongoDB nabízí pouze balíčky pro 64bitové LTS (dlouhodobá podpora) Vydání Ubuntu, jako je 14.04 LTS (důvěryhodný), 16,04 LTS (xenial) a tak dále.
Krok 1:Instalace MongoDB na Ubuntu 18.04
1. Oficiální úložiště softwarových balíčků Ubuntu přichází s nejnovější verzí MongoDB a lze jej snadno nainstalovat pomocí správce balíčků APT.
Nejprve aktualizujte mezipaměť balíčků systémového softwaru, aby měla nejnovější verzi výpisů úložiště.
$ sudo apt update
2. Dále nainstalujte balíček MongoDB, který obsahuje několik dalších balíčků, jako jsou mongo-tools , mongodb-klienti , mongodb-server a mongodb-server-core .
$ sudo apt install mongodb
3. Jakmile ji úspěšně nainstalujete, služba MongoDB se automaticky spustí přes systemd a proces naslouchá na portu 27017 . Jeho stav můžete ověřit pomocí příkazu systemctl, jak je znázorněno.
$ sudo systemctl status mongodb
Krok 2:Správa služby MongoDB
4. MongoDB instalace přichází jako služba systemd a lze ji snadno spravovat pomocí standardních příkazů systemd, jak je znázorněno.
Chcete-li zastavit běh služby MongoDB, spusťte následující příkaz.
$ sudo systemctl stop mongodb
Chcete-li spustit službu MongoDB, zadejte následující příkaz.
$ sudo systemctl start mongodb
Chcete-li restartovat službu MongoDB, zadejte následující příkaz.
$ sudo systemctl restart mongodb
Chcete-li zakázat automaticky spouštěnou službu MongoDB, zadejte následující příkaz.
$ sudo systemctl disable mongodb
Chcete-li službu MongoDB znovu povolit, zadejte následující příkaz.
$ sudo systemctl enable mongodb
Krok 3:Povolte vzdálený přístup MongoDB na bráně firewall
5. Ve výchozím nastavení MongoDB běží na portu 27017 , abyste umožnili přístup odkudkoli.
$ sudo ufw allow 27017
Ale povolení přístupu k MongoDB odkudkoli poskytuje neomezený přístup k datům databáze. Je tedy lepší udělit přístup ke konkrétnímu umístění IP adresy výchozímu portu MongoDB pomocí následujícího příkazu.
$ sudo ufw allow from your_server_IP/32 to any port 27017 $ sudo ufw status
6. Ve výchozím nastavení port 27017 naslouchá na místní adrese 127.0.0.1 pouze. Chcete-li povolit vzdálená připojení MongoDB, musíte přidat IP adresu svého serveru do /etc/mongodb.conf konfigurační soubor, jak je znázorněno.
bind_ip = 127.0.0.1,your_server_ip #port = 27017
Uložte soubor, ukončete editor a restartujte MongoDB.
$ sudo systemctl restart mongodb
Krok 4:Vytvořte uživatele a heslo root databáze MongoDB
7. Ve výchozím nastavení MongoDB přichází s deaktivovanou autentizací uživatele, a proto se spouští bez řízení přístupu. Chcete-li spustit mongo shell , spusťte následující příkaz.
$ mongo
8. Jakmile se připojíte k mongo shellu , můžete zobrazit seznam všech dostupných databází pomocí následujícího příkazu.
> show dbs
9. Chcete-li povolit řízení přístupu ve vašem nasazení MongoDB pro vynucení ověřování; vyžaduje, aby se uživatelé identifikovali pokaždé, když se připojí k databázovému serveru.
MongoDB používá Ověřovací mechanismus odezvy Salted Challenge (SCRAM ) ve výchozím nastavení mechanismus ověřování. Pomocí SCRAM , MongoDB ověřuje dodané přihlašovací údaje uživatele proti jménu, heslu a autentizační databázi uživatele (databáze, ve které byl uživatel vytvořen, a spolu se jménem uživatele slouží k identifikaci uživatele).
Musíte vytvořit správce uživatelů (obdobně jako uživatel root pod MySQL/MariaDB ) v databázi správce. Tento uživatel může spravovat uživatele a role, jako je vytvářet uživatele, udělovat nebo odebírat role uživatelům a vytvářet nebo upravovat celní role.
Nejprve se přepněte na správce databázi a poté vytvořte uživatele root pomocí následujících příkazů.
> use admin > db.createUser({user:"root", pwd:"[email protected]!#@%$admin1", roles:[{role:"root", db:"admin"}]})
Nyní ukončete mongo shell a povolte ověřování, jak je vysvětleno dále.
10. mongodb instance byla spuštěna bez --auth
možnost příkazového řádku. Musíte povolit ověřování uživatelů úpravou /lib/systemd/system/mongod.service soubor, nejprve soubor otevřete pro úpravy.
$ sudo vim /lib/systemd/system/mongodb.service
Pod [Service]
config, najděte parametr ExecStart .
ExecStart=/usr/bin/mongod --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS
Změňte jej na následující:
ExecStart=/usr/bin/mongod --auth --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS
Uložte soubor a ukončete jej.
11. 8. Po provedení změn v konfiguračním souboru spusťte „systemctl daemon-reload ‘ znovu načíst jednotky a restartovat službu MongoDB a zkontrolovat její stav následovně.
$ systemctl daemon-reload $ sudo systemctl restart mongodb $ sudo systemctl status mongodb
12. Nyní, když se pokusíte připojit k mongodb , musíte se ověřit jako uživatel MongoDB. Například:
$ mongo -u "root" -p --authenticationDatabase "admin"
Poznámka :Nedoporučuje se zadávat heslo na příkazový řádek, protože bude uloženo v souboru historie shellu a útočník si jej může později prohlédnout.
To je vše! MongoDB je moderní systém správy databází bez SQL s otevřeným zdrojovým kódem, který poskytuje vysoký výkon, vysokou dostupnost a automatické škálování.
V tomto článku jsme vysvětlili, jak nainstalovat MongoDB a jak s ním začít v Ubuntu 18.04 . Pokud máte nějaké dotazy, kontaktujte nás pomocí níže uvedeného formuláře pro komentáře.