MongoDB-ni Ubuntu 18.04-de nädip gurmaly


MongoDB, NoSQL-iň iň häzirki zaman tehnologiýasyna esaslanýan ýokary öndürijilikli maglumatlaryň dowamlylygy, ýokary elýeterliligi, şeýle hem awtomatiki ulalmagy üçin döredilen açyk çeşme, häzirki zaman resminamalar bazasyny dolandyrmak ulgamy. MongoDB-iň çäginde ýazgy meýdan we baha jübütlerinden ybarat maglumat gurluşydyr (MongoDB resminamalary JSON obýektleri bilen deňeşdirilýär).

Performanceokary öndürijilik we uly göwrümlilik aýratynlyklary bilen üpjün edýändigi sebäpli, güýçli, missiýa ähmiýetli we ýokary elýeterli maglumat bazalaryny talap edýän häzirki zaman programmalaryny gurmak üçin ulanylýar.

Bu makalada MongoDB-ni nädip gurmalydygyny, hyzmatyny dolandyrmalydygyny we Ubuntu 18.04-de esasy tassyklamany gurmagyň usullaryny düşündireris.

Üns beriň: MongoDB döredijileriniň diňe 64 bitli LTS (uzak möhletli goldaw) Ubuntu 14.04 LTS (ygtybarly), 16.04 LTS (ksenial) we ş.m. üçin paketleri hödürleýändigini bellemelisiňiz.

1-nji ädim: Ubuntu 18.04-de MongoDB gurmak

1. Ubuntu-nyň resmi programma üpjünçiligi bukjalary MongoDB-iň iň soňky wersiýasy bilen gelýär we APT paket dolandyryjysynyň kömegi bilen aňsatlyk bilen gurnalyp bilner.

Ammar sanawlarynyň iň soňky wersiýasyna eýe bolmak üçin ilki bilen programma üpjünçiligi bukjasynyň keşini täzeläň.

$ sudo apt update

2. Ondan soň, mongo-gurallar, mongodb-müşderiler, mongodb-serwer we mongodb-serwer ýadrosy ýaly başga-da birnäçe paketleri öz içine alýan MongoDB paketini guruň.

$ sudo apt install mongodb

3. Ony üstünlikli guranyňyzdan soň, MongoDB hyzmaty systemd arkaly awtomatiki usulda başlar we 27017-nji portda amal diňlener. Görkezilişi ýaly systemctl buýrugy arkaly onuň ýagdaýyny barlap bilersiňiz.

$ sudo systemctl status mongodb

2-nji ädim: MongoDB hyzmatyny dolandyrmak

4. MongoDB gurnama systemd hyzmaty hökmünde gelýär we görkezilişi ýaly adaty systemd buýruklary arkaly aňsatlyk bilen dolandyrylyp bilner.

MongoDB hyzmatyny işletmegi bes etmek üçin aşakdaky buýrugy işlediň.

$ sudo systemctl stop mongodb	

MongoDB hyzmatyny başlamak üçin aşakdaky buýrugy ýazyň.

$ sudo systemctl start mongodb

MongoDB hyzmatyny täzeden açmak üçin aşakdaky buýrugy ýazyň.

$ sudo systemctl restart mongodb	

MongoDB hyzmatyny awtomatiki öçürmek üçin aşakdaky buýrugy ýazyň.

$ sudo systemctl disable mongodb	

MongoDB hyzmatyny täzeden açmak üçin aşakdaky buýrugy ýazyň.

$ sudo systemctl enable mongodb	

3-nji ädim: Firewall-da uzakdan MongoDB girişini açyň

5. MongoDB, ulanyp boljak ýerleriňize girmek üçin 27017 portda işleýär.

$ sudo ufw allow 27017

Everywhereöne hemme ýerden MongoDB-e girmek, maglumatlar bazasynyň maglumatlaryna çäklendirilmedik giriş berýär. Şeýlelik bilen, aşakdaky buýrugy ulanyp, MongoDB portuna belli bir IP adresi ýerleşýän ýerine girmek has gowudyr.

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

6. Adaty tertipde 27017 porty diňe 127.0.0.1 ýerli salgyda diňlenýär. Uzakdaky MongoDB birikmelerine rugsat bermek üçin serweriňiziň IP adresini görkezilişi ýaly /etc/mongodb.conf konfigurasiýa faýlyna goşmaly.

bind_ip = 127.0.0.1,your_server_ip
#port = 27017

Faýly ýazdyryň, redaktordan çykyň we MongoDB-i täzeden açyň.

$ sudo systemctl restart mongodb

4-nji ädim: MongoDB maglumat bazasynyň kök ulanyjysyny we parolyny dörediň

7. Düzgüne görä, MongoDB ulanyjynyň tassyklamasy ýapyk, şonuň üçin giriş gözegçiligi bolmazdan başlandy. Mongo gabygyny işe girizmek üçin aşakdaky buýrugy işlediň.

$ mongo 

8. Mongo gabygyna birikdirilenden soň, aşakdaky buýruk bilen ähli elýeterli maglumat bazalaryny sanap bilersiňiz.

> show dbs

9. Hakyky tassyklamany ýerine ýetirmek üçin MongoDB enjamyňyza giriş gözegçiligini üpjün etmek; ulanyjylaryň maglumatlar bazasynyň serwerine her gezek birikdirilende özlerini tanamagyny talap edýär.

MongoDB, Duzly Challenge Response Autentifikasiýa Mehanizmini (SCRAM) tanamak mehanizmini ulanýar. MongoDB, SCRAM ulanyp, ulanyjynyň adyna, parolyna we tanamaklyk maglumatlar bazasyna (ulanyjynyň döredilen maglumatlar bazasy we ulanyjynyň ady bilen bilelikde ulanyjyny kesgitlemäge hyzmat edýär) üpjün edilen ulanyjy şahsyýetnamalaryny barlaýar.

Admin maglumatlar bazasynda ulanyjy administratoryny (MySQL/MariaDB astyndaky kök ulanyja meňzeş) döretmeli. Bu ulanyjy ulanyjylary döretmek, ulanyjylary döretmek, ulanyjylardan rol bermek ýa-da ýatyrmak, gümrük rollaryny döretmek ýa-da üýtgetmek ýaly rollary dolandyryp biler.

Ilki bilen administrator maglumatlar bazasyna geçiň, soňra aşakdaky buýruklary ulanyp kök ulanyjyny dörediň.

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

Indiki düşündirilişi ýaly tassyklamak mümkinçiligini bermek üçin mongo gabygyndan çykyň.

10. Mongodb mysaly --auth buýruk setiri opsiýasyz başlandy. /Lib/systemd/system/mongod.service faýlyny redaktirläp, ulanyjylaryň hakykylygyny tassyklamaly, ilki bilen redaktirlemek üçin faýly açmaly.

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

[Service] konfigurasiýa bölüminde ExecStart parametrini tapyň.

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

Aşakdakylara üýtgediň:

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

Faýly ýazdyryň we çykyň.

11. 8. Konfigurasiýa faýlyna üýtgeşmeler girizeniňizden soň, bölümleri täzeden ýüklemek we MongoDB hyzmatyny täzeden açmak we ýagdaýyny aşakdaky ýaly barlamak üçin systemctl daemon-reload işlediň.

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

12. Indi mongodb-a birikjek bolanyňyzda, özüňizi MongoDB ulanyjysy hökmünde tassyklamaly. Mysal üçin:

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

Bellik: Parolyňyzy buýruk setirine girizmek maslahat berilmeýär, sebäbi gabyk taryhy faýlynda saklanar we soň hüjümçi tarapyndan görüp bolar.

Bu hemmesi! MongoDB ýokary öndürijiligi, ýokary elýeterliligi we awtomatiki ulalmagy üpjün edýän açyk çeşme, häzirki zaman No-SQL maglumat bazasyny dolandyrmak ulgamy.

Bu makalada Ubuntu 18.04-de MongoDB bilen nädip gurmalydygyny we başlamalydygyny düşündirdik. Soraglaryňyz bar bolsa, bize ýetmek üçin aşakdaky düşündiriş formuny ulanyň.