ວິທີຕິດຕັ້ງ MongoDB ໃນ Ubuntu 18.04


MongoDB ແມ່ນລະບົບການຄຸ້ມຄອງຖານຂໍ້ມູນເອກະສານທີ່ເປີດເຜີຍ, ທັນສະ ໄໝ ທີ່ຖືກອອກແບບມາເພື່ອຄວາມທົນທານຂອງຂໍ້ມູນທີ່ມີປະສິດຕິພາບສູງ, ມີຄວາມພ້ອມສູງ, ພ້ອມທັງມີການຂູດອັດຕະໂນມັດ, ອີງໃສ່ເຕັກໂນໂລຢີທີ່ທັນສະ ໄໝ ຂອງ NoSQL. ພາຍໃຕ້ MongoDB, ບັນທຶກແມ່ນເອກະສານ, ເຊິ່ງແມ່ນໂຄງສ້າງຂໍ້ມູນທີ່ປະກອບດ້ວຍຄູ່ພາກສະ ໜາມ ແລະມູນຄ່າຄູ່ (ເອກະສານ MongoDB ປຽບທຽບກັບວັດຖຸ JSON).

ເນື່ອງຈາກວ່າມັນສະ ໜອງ ຄຸນນະພາບທີ່ມີປະສິດຕິພາບສູງແລະມີຄຸນສົມບັດທີ່ສາມາດປັບຂະ ໜາດ ໄດ້, ມັນ ກຳ ລັງຖືກ ນຳ ໃຊ້ໃນການສ້າງໂປແກຼມທີ່ທັນສະ ໄໝ ທີ່ຕ້ອງການຖານຂໍ້ມູນທີ່ມີປະສິດຕິພາບສູງ, ມີພາລະກິດ ສຳ ຄັນແລະມີຖານຂໍ້ມູນທີ່ມີຄວາມພ້ອມສູງ.

ໃນບົດຂຽນນີ້, ພວກເຮົາຈະອະທິບາຍວິທີການຕິດຕັ້ງ MongoDB, ຈັດການບໍລິການຂອງມັນແລະຕັ້ງຄ່າການກວດສອບຂັ້ນພື້ນຖານໃນ Ubuntu 18.04.

ສິ່ງ ສຳ ຄັນ: ທ່ານຄວນສັງເກດວ່ານັກພັດທະນາຂອງ MongoDB ພຽງແຕ່ສະ ເໜີ ການຫຸ້ມຫໍ່ ສຳ ລັບ LTS 64-bit (ສະ ໜັບ ສະ ໜູນ ໄລຍະຍາວ) ລຸ້ນ Ubuntu ເຊັ່ນ: 14.04 LTS (ທີ່ ໜ້າ ເຊື່ອຖື), 16.04 LTS (xenial), ແລະອື່ນໆ.

ຂັ້ນຕອນທີ 1: ການຕິດຕັ້ງ MongoDB ໃນ Ubuntu 18.04

1. ຫໍສະຫມຸດຊຸດຊອບແວຢ່າງເປັນທາງການຂອງ Ubuntu ມາພ້ອມກັບ MongoDB ລຸ້ນລ້າສຸດ, ແລະສາມາດຕິດຕັ້ງໄດ້ງ່າຍໂດຍໃຊ້ຕົວຈັດການຊຸດ APT.

ທຳ ອິດປັບປຸງຖານຂໍ້ມູນຊອບແວລະບົບເພື່ອໃຫ້ມີບັນຊີລາຍຊື່ຂອງຫໍໄຕລຸ້ນລ້າສຸດ.

$ sudo apt update

2. ຕໍ່ໄປ, ຕິດຕັ້ງໂປຣແກຣມ MongoDB ທີ່ປະກອບມີຫຼາຍໆແພັກເກດອື່ນໆເຊັ່ນ: mongo-tools, mongodb-clients, mongodb-server ແລະ mongodb-server-core.

$ sudo apt install mongodb

3. ເມື່ອທ່ານຕິດຕັ້ງມັນ ສຳ ເລັດແລ້ວ, ການບໍລິການ MongoDB ຈະເລີ່ມຕົ້ນໂດຍອັດຕະໂນມັດຜ່ານລະບົບແລະຂະບວນການຟັງຢູ່ໃນພອດ 27017. ທ່ານສາມາດກວດສອບສະຖານະຂອງມັນໂດຍໃຊ້ ຄຳ ສັ່ງ systemctl ດັ່ງທີ່ເຫັນ.

$ sudo systemctl status mongodb

ຂັ້ນຕອນທີ 2: ການຄຸ້ມຄອງ MongoDB Service

4. ການຕິດຕັ້ງ MongoDB ມາເປັນການບໍລິການທີ່ເປັນລະບົບແລະສາມາດຈັດການໄດ້ງ່າຍໂດຍຜ່ານ ຄຳ ສັ່ງຂອງລະບົບມາດຕະຖານດັ່ງທີ່ໄດ້ສະແດງໄວ້.

ເພື່ອຢຸດການບໍລິການ MongoDB, ດຳ ເນີນການ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

$ sudo systemctl stop mongodb	

ເພື່ອເລີ່ມຕົ້ນການບໍລິການ MongoDB, ພິມ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

$ sudo systemctl start mongodb

ເພື່ອເລີ່ມການບໍລິການ MongoDB, ພິມ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

$ sudo systemctl restart mongodb	

ເພື່ອປິດການບໍລິການ MongoDB ທີ່ເລີ່ມຕົ້ນໂດຍອັດຕະໂນມັດ, ພິມ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

$ sudo systemctl disable mongodb	

ເພື່ອເປີດໃຊ້ບໍລິການ MongoDB ອີກຄັ້ງ, ພິມ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

$ sudo systemctl enable mongodb	

ຂັ້ນຕອນທີ 3: ເປີດໃຊ້ການເຂົ້າເຖິງ MongoDB ໄລຍະໄກໃນ Firewall

5. ໂດຍຄ່າເລີ່ມຕົ້ນ MongoDB ແລ່ນຢູ່ທີ່ພອດ 27017, ເພື່ອໃຫ້ສາມາດເຂົ້າເຖິງໄດ້ຈາກທຸກບ່ອນທີ່ທ່ານສາມາດໃຊ້ໄດ້.

$ sudo ufw allow 27017

ແຕ່ການເຂົ້າເຖິງ MongoDB ຈາກທຸກບ່ອນໃຫ້ຂໍ້ມູນຖານຂໍ້ມູນທີ່ບໍ່ ຈຳ ກັດ. ດັ່ງນັ້ນ, ມັນດີກວ່າທີ່ຈະໃຫ້ການເຂົ້າເຖິງສະຖານທີ່ທີ່ຢູ່ IP ສະເພາະເພື່ອທີ່ Port ຂອງ MongoDB ໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້

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

6. ໂດຍຄ່າເລີ່ມຕົ້ນທີ່ Port 27017 ແມ່ນຟັງຢູ່ໃນທີ່ຢູ່ຂອງທ້ອງຖິ່ນ 127.0.0.1 ເທົ່ານັ້ນ. ເພື່ອອະນຸຍາດໃຫ້ເຊື່ອມຕໍ່ MongoDB ຫ່າງໄກສອກຫຼີກ, ທ່ານຈໍາເປັນຕ້ອງເພີ່ມທີ່ຢູ່ IP ຂອງເຄື່ອງແມ່ຂ່າຍຂອງທ່ານໃສ່ /etc/mongodb.conf ໄຟລ໌ການຕັ້ງຄ່າດັ່ງທີ່ສະແດງ.

bind_ip = 127.0.0.1,your_server_ip
#port = 27017

ບັນທຶກເອກະສານ, ອອກຈາກບັນນາທິການແລະເລີ່ມ MongoDB.

$ sudo systemctl restart mongodb

ຂັ້ນຕອນທີ 4: ສ້າງຜູ້ໃຊ້ແລະລະຫັດຜ່ານຖານຂໍ້ມູນຂອງ MongoDB

7. ໂດຍຄ່າເລີ່ມຕົ້ນ MongoDB ມາພ້ອມກັບການກວດສອບຄວາມຖືກຕ້ອງຂອງຜູ້ໃຊ້, ສະນັ້ນມັນເລີ່ມຕົ້ນໂດຍບໍ່ມີການຄວບຄຸມການເຂົ້າເຖິງ. ເພື່ອເປີດຫອຍ mongo, ດໍາເນີນການຄໍາສັ່ງຕໍ່ໄປນີ້.

$ mongo 

8. ເມື່ອທ່ານໄດ້ເຊື່ອມຕໍ່ກັບຫອຍຟອງ, ທ່ານສາມາດລາຍຊື່ຖານຂໍ້ມູນທີ່ມີທັງ ໝົດ ດ້ວຍ ຄຳ ສັ່ງດັ່ງຕໍ່ໄປນີ້.

> show dbs

9. ເພື່ອໃຫ້ສາມາດຄວບຄຸມການເຂົ້າເຖິງການ ນຳ ໃຊ້ MongoDB ຂອງທ່ານເພື່ອບັງຄັບໃຊ້ການກວດສອບຄວາມຖືກຕ້ອງ; ຮຽກຮ້ອງໃຫ້ຜູ້ໃຊ້ລະບຸຕົວເອງທຸກໆຄັ້ງທີ່ພວກເຂົາເຊື່ອມຕໍ່ກັບຖານຂໍ້ມູນເຊີຟເວີ.

MongoDB ນຳ ໃຊ້ກົນໄກການກວດສອບຄວາມຖືກຕ້ອງດ້ານຄວາມທ້າທາຍຂອງເກືອເຄັມ (SCRAM) ໂດຍຄ່າເລີ່ມຕົ້ນ. ການ ນຳ ໃຊ້ SCRAM, MongoDB ກວດສອບຂໍ້ມູນປະ ຈຳ ຕົວຜູ້ໃຊ້ທີ່ຖືກສະ ໜອງ ຕໍ່ກັບຊື່ຜູ້ໃຊ້, ລະຫັດຜ່ານແລະຖານຂໍ້ມູນການກວດສອບ (ຖານຂໍ້ມູນທີ່ຜູ້ໃຊ້ຖືກສ້າງຂື້ນມາ, ແລະຮ່ວມກັນກັບຊື່ຜູ້ໃຊ້, ເຮັດ ໜ້າ ທີ່ເພື່ອລະບຸຊື່ຜູ້ໃຊ້).

ທ່ານຈໍາເປັນຕ້ອງສ້າງຜູ້ບໍລິຫານຜູ້ໃຊ້ (ປຽບທຽບກັບຜູ້ໃຊ້ຮາກພາຍໃຕ້ MySQL/MariaDB) ໃນຖານຂໍ້ມູນ admin. ຜູ້ໃຊ້ນີ້ສາມາດບໍລິຫານຜູ້ໃຊ້ແລະພາລະບົດບາດຕ່າງໆເຊັ່ນ: ສ້າງຜູ້ຊົມໃຊ້, ມອບສິດຫຼືຖອນບົດບາດຈາກຜູ້ໃຊ້, ແລະສ້າງຫຼືປັບປ່ຽນພາລະບົດບາດຂອງພາສີ.

ທຳ ອິດປ່ຽນໄປທີ່ຖານຂໍ້ມູນ admin, ຈາກນັ້ນສ້າງຜູ້ໃຊ້ຮາກໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

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

ຕອນນີ້ອອກຈາກຫອຍ mongo ເພື່ອເປີດໃຊ້ງານການກວດສອບທີ່ຖືກອະທິບາຍຕໍ່ໄປ.

10. ຕົວຢ່າງ mongodb ໄດ້ເລີ່ມຕົ້ນໂດຍບໍ່ມີຕົວເລືອກ ຄຳ ສັ່ງ --auth . ທ່ານ ຈຳ ເປັນຕ້ອງເປີດໃຊ້ງານກວດສອບຄວາມຖືກຕ້ອງຂອງຜູ້ໃຊ້ໂດຍການແກ້ໄຂເອກະສານ /lib/systemd/system/mongod.service, ກ່ອນອື່ນ ໝົດ ແມ່ນເປີດເອກະສານເພື່ອການດັດແກ້ເຊັ່ນນັ້ນ.

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

ພາຍໃຕ້ສ່ວນການຕັ້ງຄ່າ [ການບໍລິການ] config, ຊອກຫາພາລາມິເຕີ ExecStart.

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

ປ່ຽນມັນໃຫ້ເປັນດັ່ງຕໍ່ໄປນີ້:

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

ບັນທຶກເອກະສານແລະອອກຈາກມັນ.

11. 8. ຫລັງຈາກເຮັດການປ່ຽນແປງເອກະສານການຕັ້ງຄ່າ, ໃຫ້ແລ່ນ 'systemctl daemon-reload' ເພື່ອໂຫຼດ ໜ່ວຍ ງານ ໃໝ່ ແລະເລີ່ມການບໍລິການ MongoDB ແລະກວດເບິ່ງສະຖານະຂອງມັນດັ່ງຕໍ່ໄປນີ້.

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

12. ດຽວນີ້ເມື່ອທ່ານພະຍາຍາມເຊື່ອມຕໍ່ກັບ mongodb, ທ່ານຕ້ອງໄດ້ກວດສອບຕົວເອງວ່າເປັນຜູ້ໃຊ້ MongoDB. ຍົກຕົວຢ່າງ:

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

ໝາຍ ເຫດ: ມັນບໍ່ໄດ້ຖືກແນະ ນຳ ໃຫ້ໃສ່ລະຫັດຜ່ານຂອງທ່ານໃສ່ເສັ້ນ ຄຳ ສັ່ງເພາະມັນຈະຖືກເກັບໄວ້ໃນແຟ້ມປະຫວັດສາດຂອງຫອຍແລະສາມາດເບິ່ງໄດ້ໃນເວລາຕໍ່ມາໂດຍຜູ້ໂຈມຕີ.

ຫມົດເທົ່ານີ້! MongoDB ແມ່ນລະບົບການຄຸ້ມຄອງຖານຂໍ້ມູນ No-SQL ແບບເປີດ, ທັນສະ ໄໝ ທີ່ໃຫ້ລະບົບການເຮັດວຽກທີ່ມີປະສິດຕິພາບສູງ, ມີຄວາມພ້ອມສູງແລະມີການຂູດອັດຕະໂນມັດ.

ໃນບົດຂຽນນີ້, ພວກເຮົາໄດ້ອະທິບາຍວິທີການຕິດຕັ້ງແລະເລີ່ມຕົ້ນກັບ MongoDB ໃນ Ubuntu 18.04. ຖ້າທ່ານມີ ຄຳ ຖາມໃດໆ, ໃຫ້ໃຊ້ແບບຟອມ ຄຳ ເຫັນຂ້າງລຸ່ມນີ້ເພື່ອຕິດຕໍ່ຫາພວກເຮົາ.