Előfeltételek
Telepítse a MongoDB 4.0 adatbázist
Teszt kapcsolat
Tűzfal mérlegelése
Hitelesítést igényel
Fontos: frissítések
Tiszta leállás
Előfeltételek
- Egy Vultr-szerver, amely a legfrissebb Arch Linuxot futtatja (lásd ezt a cikket )
- Sudo hozzáférés:
- A rootként futtatandó parancsok előtagja a
#, és a normál felhasználóként futtatható parancsok előtagja $. A parancsok rootként való futtatásának javasolt módja az, hogy normál felhasználóként mindegyiket előtaggal írja elő sudo.
Telepítse a MongoDB 4.0 adatbázist
A MongoDB az AUR-ban (Arch User Repository) található. 2 csomag használható. Tekintse meg a Csomagok építése Arch Linux rendszeren című részt (beleértve az AUR-t is) a csomagok bármelyikének fordításához és telepítéséhez:
- Forrásból fordítsd le. Használjon AUR csomagokat
mongodbés esetleg mongodb-tools'. Vegye figyelembe, hogy ez körülbelül 180 GB-ot vesz igénybe, és ez egy hosszú összeállítás. 4 maggal körülbelül 7 órát vesz igénybe. Ez az ajánlott módszer, mert az Arch fordítási zászlóit használja.
- Használja a MongoDB előre elkészített binárisát. Használja az AUR csomagot
mongodb-binés lehetőleg mongodb-tools-bin. Ez kihagyja a teljes fordítási szakaszt, egy előre elkészített bináris letöltést a mongodb.org webhelyről, és becsomagolja a szükséges konfigurációs fájlokkal.
A csomag telepítése után indítsa el a MongoDB-t, és indítsa el minden rendszerindítás után. Az első indítás során előzetesen lefoglalja a fájlokat a naplójához és más adatokhoz, ami eltarthat egy ideig, mire az adatbázis befejeződik:
# systemctl enable --now mongodb
Teszt kapcsolat
Csatlakozás a MongoDB-hez:
$ mongo
Leszokni:
> exit
Tűzfal mérlegelése
Bár a tűzfal beállítása mindig jó ötlet, alapértelmezés szerint a MongoDB csak 27017a localhost portján figyel , így nem fog külső forgalmat fogadni.
Hitelesítést igényel
Alapértelmezés szerint a MongoDB bárki számára lehetővé teszi, hogy bármilyen hitelesítés nélkül csatlakozzon hozzá, ami nyilvánvalóan biztonsági kockázatot jelent.
Hozzon létre egy root adatbázis-felhasználót:
$ mongo
> use admin
> db.createUser(
... {
... user: "root",
... pwd: "YOUR-NEW-PASSWORD",
... roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
... }
... )
> exit
Szerkessze /etc/mongodb.conf, és csomag használata esetén mongodbadd hozzá:
security:
authorization: "enabled"
Ha csomagot használ, mongodb-binadja hozzá:
auth = true
Indítsa újra a MongoDB-t:
# systemctl restart mongodb
Noha továbbra is csatlakozhat a MongoDB-hez hitelesítés nélkül, az nem fog semmit végrehajtani nélküle:
$ mongodb
> db.getUsers()
... Error: command usersInfo requires authentication :
Csatlakozás a MongoDB-hez rootként:
$ mongodb -u root
Alternatív megoldásként csatlakozzon a MongoDB-hez, majd hitelesítsen benne:
$ mongodb
> use admin
> db.auth("root", "<YOUR-DATABASE-ROOT-PASSWORD>")
Fontos: frissítések
Mivel a MongoDB már része az AUR-nak, pacmannem fordítja le és frissíti automatikusan új verziókra, amikor frissíti a teljes Arch rendszert. Manuálisan újra kell fordítania az új verziót, és telepítenie kell az új csomagot. Mielőtt ezt megtenné, fontos, hogy nézze meg a MongoDB kiadási megjegyzéseit, hogy megtudja, van-e további lépése. Célszerű biztonsági másolatot készíteni az adatbázisról is a frissítés előtt.
Tiszta leállás
Ha a MongoDB nem áll le tisztán, és nem áll helyre automatikusan a naplója segítségével a következő rendszerindításkor, akkor előfordulhat, hogy a következőket kell futtatnia:
sudo -u mongodb mongod --repair --dbpath /var/lib/mongodb/
Az adatbázis méretétől és a használt indexektől függően ez a folyamat másodpercektől órákig tarthat.