Parakushtet
Instaloni bazën e të dhënave MongoDB 4.0
Test lidhjen
Konsiderata e Firewall-it
Kërkoni vërtetim
E rëndësishme: Përmirësimet
Mbyllje e papastër
Parakushtet
- Një server Vultr që funksionon i përditësuar Arch Linux (shih këtë artikull )
- Qasja në Sudo:
- Komandat që kërkohen për t'u ekzekutuar si rrënjë parashtesohen nga
#, dhe ato që mund të ekzekutohen si përdorues të rregullt nga $. Mënyra e rekomanduar për të ekzekutuar komandat si rrënjë është që, si përdorues i rregullt, të parashtesësh secilën prej tyre me sudo.
Instaloni bazën e të dhënave MongoDB 4.0
MongoDB është në AUR (Arch User Repository). Ka 2 grupe paketash që mund të përdorni. Shikoni Ndërtimi i paketave në Arch Linux (përfshirë AUR) për të përpiluar dhe instaluar njërën nga grupet e paketave:
- Përpiloni nga burimi. Përdorni paketat AUR
mongodbdhe ndoshta mongodb-tools'. Vini re se kjo kërkon rreth 180 GB, dhe ky është një përmbledhje e gjatë. Me 4 bërthama, duhen rreth 7 orë. Kjo është metoda e rekomanduar, sepse përdor flamujt e përpilimit të Arch.
- Përdorni binarin e para-ndërtuar të MongoDB. Përdorni paketën AUR
mongodb-bindhe mundësisht mongodb-tools-bin. Kjo anashkalon të gjithë fazën e përpilimit, duke shkarkuar një binar të para-ndërtuar nga mongodb.org dhe duke e paketuar atë me skedarët e nevojshëm të konfigurimit.
Pas instalimit të paketës, filloni MongoDB dhe bëjeni atë të fillojë pas çdo boot. Gjatë këtij fillimi të parë, ai do të paracaktojë skedarë për ditarin e tij dhe të dhëna të tjera, të cilat mund të zgjasin pak para se baza e të dhënave të përfundojë duke u shfaqur:
# systemctl enable --now mongodb
Test lidhjen
Lidhu me MongoDB:
$ mongo
Për të lënë:
> exit
Konsiderata e Firewall-it
Megjithëse konfigurimi i një muri zjarri është gjithmonë një ide e mirë, si parazgjedhje, MongoDB dëgjon vetëm në port 27017në localhost, kështu që nuk do të marrë trafik të jashtëm.
Kërkoni vërtetim
Si parazgjedhje, MongoDB lejon këdo që të lidhet me të pa asnjë lloj vërtetimi, gjë që është padyshim një rrezik sigurie.
Krijoni një përdorues të bazës së të dhënave rrënjësore:
$ mongo
> use admin
> db.createUser(
... {
... user: "root",
... pwd: "YOUR-NEW-PASSWORD",
... roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
... }
... )
> exit
Ndryshoni /etc/mongodb.confdhe nëse përdorni paketën mongodbshtoni:
security:
authorization: "enabled"
Nëse përdorni paketën, mongodb-binshtoni:
auth = true
Rinis MongoDB:
# systemctl restart mongodb
Tani, megjithëse ende mund të lidheni me MongoDB pa vërtetim, ai nuk do të kryejë asgjë pa të:
$ mongodb
> db.getUsers()
... Error: command usersInfo requires authentication :
Lidhu me MongoDB si rrënjë:
$ mongodb -u root
Përndryshe, lidheni me MongoDB, më pas vërtetoni brenda tij:
$ mongodb
> use admin
> db.auth("root", "<YOUR-DATABASE-ROOT-PASSWORD>")
E rëndësishme: Përmirësimet
Për shkak se MongoDB tani është pjesë e AUR, pacmannuk do ta përpilojë dhe përmirësojë automatikisht në versione të reja, kur të përmirësoni të gjithë sistemin tuaj Arch. Do t'ju duhet të ripërpiloni manualisht një version të ri dhe të instaloni paketën e re. Përpara se ta bëni këtë, është e rëndësishme të shikoni shënimet e lëshimit të MongoDB, për të parë nëse ka ndonjë hap shtesë që duhet të ndërmerrni. Është një ide e mirë të bëni kopje rezervë të bazës së të dhënave përpara se të përmirësoni, gjithashtu.
Mbyllje e papastër
Nëse MongoDB nuk mbyllet plotësisht dhe nuk rikuperohet automatikisht duke përdorur ditarin e tij në nisjen tjetër, mund t'ju duhet të ekzekutoni sa vijon:
sudo -u mongodb mongod --repair --dbpath /var/lib/mongodb/
Në varësi të madhësisë së bazës së të dhënave tuaja dhe indekseve të përdorura, ky proces mund të variojë nga sekonda në orë.