Kā instalēt MongoDB Ubuntu 18.04


MongoDB ir atvērtā koda, mūsdienīga dokumentu datu bāzes pārvaldības sistēma, kas paredzēta augstas veiktspējas datu noturībai, augstai pieejamībai, kā arī automātiskai mērogošanai, kuras pamatā ir vismodernākā NoSQL tehnoloģija. Saskaņā ar MongoDB ieraksts ir dokuments, kas ir datu struktūra, kas sastāv no lauku un vērtību pāriem (MongoDB dokumenti ir salīdzināmi ar JSON objektiem).

Tā kā tas nodrošina augstu veiktspēju un lieliskas mērogojamības funkcijas, to izmanto, lai izveidotu modernas lietojumprogrammas, kurām nepieciešamas jaudīgas, kritiskas un augstas pieejamības datu bāzes.

Šajā rakstā mēs paskaidrosim, kā instalēt MongoDB, pārvaldīt tā servisu un iestatīt pamata autentifikāciju Ubuntu 18.04.

Svarīgi: jums jāņem vērā, ka MongoDB izstrādātāji piedāvā tikai 64 bitu LTS (ilgtermiņa atbalsts) Ubuntu izlaidumu pakotnes, piemēram, 14.04 LTS (uzticams), 16.04 LTS (xenial) utt.

1. solis: MongoDB instalēšana Ubuntu 18.04

1. Ubuntu oficiālajos programmatūras pakotņu krātuvēs ir jaunākā MongoDB versija, un tās var viegli instalēt, izmantojot APT pakotņu pārvaldnieku.

Vispirms atjauniniet sistēmas programmatūras pakotnes kešatmiņu, lai tajā būtu jaunākā repozitorija sarakstu versija.

$ sudo apt update

2. Pēc tam instalējiet MongoDB pakotni, kas ietver vairākas citas paketes, piemēram, mongo-tools, mongodb-clients, mongodb-server un mongodb-server-core.

$ sudo apt install mongodb

3. Kad tas ir veiksmīgi instalēts, pakalpojums MongoDB tiks automātiski palaists, izmantojot systemd, un process klausās portā 27017. Tā statusu var pārbaudīt, izmantojot komandu systemctl, kā parādīts.

$ sudo systemctl status mongodb

2. darbība: pārvaldiet MongoDB pakalpojumu

4. MongoDB instalācija tiek piegādāta kā systemd pakalpojums, un to var viegli pārvaldīt, izmantojot standarta systemd komandas, kā parādīts.

Lai pārtrauktu MongoDB pakalpojuma darbību, izpildiet šādu komandu.

$ sudo systemctl stop mongodb	

Lai sāktu MongoDB pakalpojumu, ierakstiet šādu komandu.

$ sudo systemctl start mongodb

Lai restartētu MongoDB pakalpojumu, ierakstiet šādu komandu.

$ sudo systemctl restart mongodb	

Lai atspējotu automātiski sākto MongoDB pakalpojumu, ierakstiet šādu komandu.

$ sudo systemctl disable mongodb	

Lai atkal iespējotu MongoDB pakalpojumu, ierakstiet šādu komandu.

$ sudo systemctl enable mongodb	

3. darbība: iespējojiet attālo MongoDB piekļuvi ugunsmūrim

5. Pēc noklusējuma MongoDB darbojas 27017. portā, lai atļautu piekļuvi no jebkuras vietas, kur vien varat izmantot.

$ sudo ufw allow 27017

Bet, iespējojot piekļuvi MongoDB no jebkuras vietas, tiek nodrošināta neierobežota piekļuve datu bāzes datiem. Tātad, labāk ir piešķirt piekļuvi noteiktai IP adreses vietai noklusējuma MongoDB portam, izmantojot šādu komandu.

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

6. Pēc noklusējuma ports 27017 klausās tikai vietējo adresi 127.0.0.1. Lai atļautu attālinātus MongoDB savienojumus, servera IP adrese jāpievieno konfigurācijas failā /etc/mongodb.conf, kā parādīts.

bind_ip = 127.0.0.1,your_server_ip
#port = 27017

Saglabājiet failu, izejiet no redaktora un restartējiet MongoDB.

$ sudo systemctl restart mongodb

4. solis: izveidojiet MongoDB datu bāzes saknes lietotāju un paroli

7. Pēc noklusējuma MongoDB ir atspējota lietotāja autentifikācija, tāpēc tā tiek sākta bez piekļuves kontroles. Lai palaistu mongo apvalku, palaidiet šādu komandu.

$ mongo 

8. Kad esat izveidojis savienojumu ar mongo apvalku, varat uzskaitīt visas pieejamās datu bāzes ar šādu komandu.

> show dbs

9. lai iespējotu piekļuves kontroli jūsu MongoDB izvietojumā, lai ieviestu autentifikāciju; pieprasot lietotājiem identificēt sevi katru reizi, kad viņi izveido savienojumu ar datu bāzes serveri.

Pēc noklusējuma MongoDB izmanto Salted Challenge Response Authentication Mechanism (SCRAM) autentifikācijas mehānismu. Izmantojot SCRAM, MongoDB pārbauda piegādātos lietotāja akreditācijas datus, salīdzinot ar lietotāja vārdu, paroli un autentifikācijas datu bāzi (datu bāze, kurā lietotājs tika izveidots, un kopā ar lietotāja vārdu kalpo lietotāja identificēšanai).

Jums ir jāizveido lietotāja administrators (līdzīgs root lietotājam zem MySQL/MariaDB) administratora datu bāzē. Šis lietotājs var administrēt lietotāju un lomas, piemēram, izveidot lietotājus, piešķirt vai atsaukt lietotāju lomas un izveidot vai modificēt muitas lomas.

Vispirms pārslēdzieties uz administratora datu bāzi, pēc tam izveidojiet saknes lietotāju, izmantojot šādas komandas.

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

Tagad izejiet no mongo čaumalas, lai iespējotu autentifikāciju, kā paskaidrots tālāk.

10. Mongodb gadījums tika palaists bez komandrindas opcijas --auth . Jums jāiespējo lietotāju autentifikācija, rediģējot /lib/systemd/system/mongod.service failu, vispirms atveriet failu rediģēšanai.

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

Konfigurācijas sadaļā [Service] atrodiet parametru ExecStart.

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

Mainiet to uz šādu:

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

Saglabājiet failu un izejiet no tā.

11. 8. Pēc izmaiņām konfigurācijas failā palaidiet ‘systemctl daemon-reload’, lai pārlādētu vienības un restartētu MongoDB pakalpojumu un pārbaudītu tā statusu šādi.

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

12. Tagad, mēģinot izveidot savienojumu ar mongodb, jums ir jāapstiprina sevi kā MongoDB lietotāju. Piemēram:

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

Piezīme. Nav ieteicams ievadīt paroli komandrindā, jo tā tiks saglabāta čaulas vēstures failā, un uzbrucējs to vēlāk varēs apskatīt.

Tas ir viss! MongoDB ir atvērtā koda, mūsdienīga No-SQL datu bāzes pārvaldības sistēma, kas nodrošina augstu veiktspēju, augstu pieejamību un automātisku mērogošanu.

Šajā rakstā mēs esam paskaidrojuši, kā instalēt un sākt darbu ar MongoDB Ubuntu 18.04. Ja jums ir kādi jautājumi, izmantojiet zemāk esošo komentāru veidlapu, lai sazinātos ar mums.