ວິທີຕິດຕັ້ງ 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. ຖ້າທ່ານມີ ຄຳ ຖາມໃດໆ, ໃຫ້ໃຊ້ແບບຟອມ ຄຳ ເຫັນຂ້າງລຸ່ມນີ້ເພື່ອຕິດຕໍ່ຫາພວກເຮົາ.