Otu esi etinye MongoDB na Ubuntu 18.04


MongoDB bụ isi mmalite mepere emepe, sistemu njikwa nchekwa data akwụkwọ ọgbara ọhụrụ emebere maka nnọgidesi ike data arụmọrụ dị elu, nnweta dị elu, yana nha akpaka, dabere na teknụzụ ọgbara ọhụrụ nke NoSQL. N'okpuru MongoDB, ndekọ bụ akwụkwọ, nke bụ nhazi data nke nwere ụzọ abụọ bara uru (akwụkwọ MongoDB yiri ihe JSON).

N'ihi na ọ na-enye ọrụ dị elu na njirimara scalability dị ukwuu, a na-eji ya maka ịmepụta ngwa ọgbara ọhụrụ nke na-achọ ebe nchekwa data dị ike, nke dị mkpa na nke dị elu.

N'edemede a, anyị ga-akọwa otu esi etinye MongoDB, jikwaa ọrụ ya na ịtọ ntọala ntọala na Ubuntu 18.04.

Ihe dị mkpa: Ị ga-arịba ama na ndị mmepe nke MongoDB na-enye ngwugwu maka 64-bit LTS (nkwado ogologo oge) ntọhapụ Ubuntu dị ka 14.04 LTS ( ntụkwasị obi), 16.04 LTS (xenial), na ndị ọzọ.

Kwụpụ 1: Wụnye MongoDB na Ubuntu 18.04

1. Ebe nchekwa ngwugwu ngwanrọ Ubuntu na-abịa na ụdị MongoDB kachasị ọhụrụ, enwere ike itinye ya ngwa ngwa site na iji njikwa ngwugwu APT.

Buru ụzọ melite cache ngwungwu ngwanrọ sistemụ ka ị nweta ụdị ndepụta nchekwa kacha ọhụrụ.

$ sudo apt update

2. Ọzọ, wụnye ngwugwu MongoDB nke gụnyere ọtụtụ ngwugwu ndị ọzọ dị ka mongo-tools, mongodb-clients, mongodb-server na mongodb-server-core.

$ sudo apt install mongodb

3. Ozugbo i tinyechara ya nke ọma, ọrụ MongoDB ga-amalite na-akpaghị aka site na systemd na usoro ahụ na-ege ntị na ọdụ ụgbọ mmiri 27017. Ị nwere ike nyochaa ọnọdụ ya site na iji systemctl iwu dị ka egosiri.

$ sudo systemctl status mongodb

Kwụpụ 2: Ijikwa ọrụ MongoDB

4. The MongoDB echichi na-abịa dị ka a systemd ọrụ na ike mfe ijikwa site a ọkọlọtọ systemd iwu dị ka egosiri.

Ka ịkwụsị ịgba ọsọ MongoDB ọrụ, gbaa iwu a.

$ sudo systemctl stop mongodb	

Iji malite ọrụ MongoDB, pịnye iwu a.

$ sudo systemctl start mongodb

Ka ịmalitegharịa ọrụ MongoDB, pịnye iwu a.

$ sudo systemctl restart mongodb	

Iji gbanyụọ ọrụ MongoDB malitere na-akpaghị aka, pịnye iwu a.

$ sudo systemctl disable mongodb	

Iji gbanye ọrụ MongoDB ọzọ, pịnye iwu a.

$ sudo systemctl enable mongodb	

Kwụpụ 3: Kwado ohere MongoDB dịpụrụ adịpụ na Firewall

5. Site na ndabara MongoDB na-agba ọsọ na ọdụ ụgbọ mmiri 27017, iji kwe ka ịnweta ebe ọ bụla ị nwere ike iji.

$ sudo ufw allow 27017

Mana inye ohere ịnweta MongoDB site na ebe niile na-enye ohere na-enweghị njedebe na data nchekwa data. Yabụ, ọ ka mma ịnye ohere ịnweta ọnọdụ adreesị IP akọwapụtara na ọdụ ụgbọ mmiri MongoDB site na iji iwu na-esote.

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

6. Site na ndabara, ọdụ ụgbọ mmiri 27017 na-ege ntị na adreesị mpaghara 127.0.0.1 naanị. Iji kwe ka njikọ MongoDB dịpụrụ adịpụ, ịkwesịrị ịgbakwunye adreesị IP nke ihe nkesa gị na /etc/mongodb.conf nhazi faịlụ dị ka egosiri.

bind_ip = 127.0.0.1,your_server_ip
#port = 27017

Chekwaa faịlụ ahụ, pụọ na nchịkọta akụkọ, wee malitegharịa MongoDB.

$ sudo systemctl restart mongodb

Nzọụkwụ 4: Mepụta MongoDB Database Root User na Paswọdu

7. Site ndabara MongoDB na-abịa na njirimara njirimara nwere nkwarụ, ya mere malitere na-enweghị ohere njikwa. Iji malite shei mongo, mee iwu a.

$ mongo 

8. Ozugbo ị jikọọ na mongo shell, ị nwere ike depụta ọdụ data niile dị na iwu na-esonụ.

> show dbs

9. Iji mee ka njikwa nweta njikwa na ntinye MongoDB gị iji manye nyocha; na-achọ ka ndị ọrụ mata onwe ha oge ọ bụla ha jikọọ na ihe nkesa nchekwa data.

MongoDB na-eji usoro nyocha azịza Salted Challenge Response Authentication Mechanism (SCRAM) na ndabara. N'iji SCRAM, MongoDB na-enyocha nzere onye ọrụ ewepụtara megide aha onye ọrụ, paswọọdụ na nchekwa data nyocha (data data nke emepụtara onye ọrụ yana yana aha onye ọrụ, na-eje ozi iji mata onye ọrụ).

Ịkwesịrị ịmepụta onye nchịkwa onye ọrụ (ihe atụ maka onye ọrụ mgbọrọgwụ n'okpuru MySQL/MariaDB) na nchekwa data nchịkwa. Onye ọrụ a nwere ike ịhazi onye ọrụ na ọrụ dị ka imepụta ndị ọrụ, nye ma ọ bụ kagbuo ọrụ n'aka ndị ọrụ, wee mepụta ma ọ bụ gbanwee ọrụ kọstọm.

Mbụ gbanwee gaa na nchekwa data nchịkwa, wee mepụta onye ọrụ mgbọrọgwụ site na iji iwu ndị a.

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

Ugbu a pụọ na mongo shei iji mee ka nyocha dị ka akọwara na-esote.

10. Amalitere mongodb na-enweghị nhọrọ ahịrị iwu --auth. Ịkwesịrị ịme nyocha nke ndị ọrụ site na-edezi /lib/systemd/system/mongod.service faịlụ, buru ụzọ mepee faịlụ maka edezi dị ka ya.

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

N'okpuru ngalaba nhazi [Ọrụ], chọta paramita ExecStart.

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

Gbanwee ya ka ọ bụrụ nke a:

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

Chekwaa faịlụ ahụ wee pụọ.

11. 8. Mgbe ịmechara mgbanwe na faịlụ nhazi, gbanye 'systemctl daemon-reload'iji bugharịa nkeji ma malitegharịa ọrụ MongoDB wee lelee ọkwa ya dị ka ndị a.

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

12. Ugbu a, mgbe ị na-agbalị jikọọ na mongodb, ị ga-enyocha onwe gị dị ka a MongoDB ọrụ. Ọmụmaatụ:

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

Mara: A naghị atụ aro ka itinye paswọọdụ gị n'ahịrị iwu n'ihi na a ga-echekwa ya na faịlụ akụkọ ihe mere eme nke shei ma onye mwakpo nwere ike lelee ya ma emechaa.

Ọ gwụla! MongoDB bụ isi mmalite mepere emepe, sistemụ nchekwa data No-SQL ọgbara ọhụrụ nke na-enye arụmọrụ dị elu, ịdị elu dị elu, yana nyocha akpaka.

N'isiokwu a, anyị akọwala otu esi etinye ma malite na MongoDB na Ubuntu 18.04. Ọ bụrụ na ị nwere ajụjụ ọ bụla, jiri ụdị nkọwa dị n'okpuru ebe a iru anyị.