ລາຍການຫົວເລື່ອງ
ຄູ່ມືຄົບຖ້ວນສຳລັບ ຄຳສັ່ງສຳຮອງຂໍ້ມູນ ແລະ ການຖອດລະຫັດ MySQL /MariaDB
ຈາກຜູ້ເລີ່ມຕົ້ນຈົນເຖິງຜູ້ຊ່ຽວຊານ, ປຶ້ມຫົວນີ້ອະທິບາຍ ເຖິງຂະບວນການທັງໝົດຂອງການສຳຮອງຂໍ້ມູນ MySQL dump, ການບີບອັດ gzip, ການຖອດລະຫັດ gunzip, ແລະ ການນໍາເຂົ້າ MySQL, ຊ່ວຍໃຫ້ນັກພັດທະນາສາມາດຮຽນຮູ້ທັກສະການສຳຮອງຂໍ້ມູນ ແລະ ການກູ້ຄືນຖານຂໍ້ມູນໄດ້ຢ່າງວ່ອງໄວເພື່ອຮັບປະກັນຄວາມປອດໄພຂອງຂໍ້ມູນ ແລະ ຄວາມຕໍ່ເນື່ອງທາງທຸລະກິດ.
ເຖິງແມ່ນວ່າ MySQL ແລະ MariaDB ມີຕົ້ນກຳເນີດດຽວກັນ, ແຕ່ພວກມັນແຕກຕ່າງກັນຢ່າງຫຼວງຫຼາຍໃນດ້ານການອອກໃບອະນຸຍາດແບບໂອເພນຊອສ, ການຂະຫຍາຍຄຸນສົມບັດ, ການເພີ່ມປະສິດທິພາບ, ແລະລະບົບນິເວດຊຸມຊົນ. MariaDB ເນັ້ນໜັກໃສ່ການປະດິດສ້າງແບບໂອເພນຊອສ ແລະ ຄຸນສົມບັດທີ່ສົມບູນ, ໃນຂະນະທີ່ MySQL ອີງໃສ່ການສະໜັບສະໜູນທາງການຄ້າຂອງ Oracle ແລະ ເໝາະສົມກວ່າສຳລັບແອັບພລິເຄຊັນລະດັບວິສາຫະກິດ.
ມັນເປັນພຽງແຕ່ເວລາທີ່ຖານຂໍ້ມູນຂັດຂ້ອງເທົ່ານັ້ນທີ່ຂ້ອຍຮູ້ເຖິງຄວາມສຳຄັນຂອງການສຳຮອງຂໍ້ມູນ.
ນັກພັດທະນາທຸກຄົນລ້ວນແຕ່ເຄີຍປະສົບກັບຄວາມໂສກເສົ້າຈາກການສູນເສຍຂໍ້ມູນ, ແລະຄຳສັ່ງສຳຮອງຂໍ້ມູນ ແລະ ກູ້ຄືນຂໍ້ມູນຂອງ MySQL ແລະ MariaDB ແມ່ນເສັ້ນທາງຊີວິດນັ້ນ.
ຕອນນີ້ຂ້ອຍຈະແນະນໍາເຈົ້າຜ່ານວິທີທີ່ໂດຍກົງທີ່ສຸດເພື່ອເຂົ້າໃຈຢ່າງລະອຽດກ່ຽວກັບຄໍາສັ່ງສໍາຮອງ, ການຖອດລະຫັດ ແລະ ການນໍາເຂົ້າສໍາລັບ MySQL/MariaDB.
ເປັນຫຍັງຄຳສັ່ງສຳຮອງຂໍ້ມູນ MySQL/MariaDB ຈຶ່ງມີຄວາມສຳຄັນຫຼາຍ?
ຂໍ້ມູນແມ່ນສາຍເລືອດຂອງທຸລະກິດ.
ຖ້າຖານຂໍ້ມູນເສຍຫາຍ, ມັນອາດຈະນໍາໄປສູ່ການຢຸດສະງັກທາງທຸລະກິດ ຫຼື ແມ່ນແຕ່ການສູນເສຍຫຼາຍລ້ານໂດລາ.
ອີງຕາມການສຶກສາທີ່ຕີພິມໃນ IEEE Transactions on Computers, ວິສາຫະກິດຕ່າງໆສູນເສຍເງິນເຖິງ 5600 ໂດລາ ຕໍ່ນາທີຂອງການຢຸດເຮັດວຽກຂອງຖານຂໍ້ມູນ (ແຫຼ່ງຂໍ້ມູນ: IEEE, 2023).
ນັ້ນແມ່ນເຫດຜົນທີ່ທ່ານຕ້ອງຄຸ້ນເຄີຍກັບຄໍາສັ່ງສຳຮອງຂໍ້ມູນ.
ຄຳອະທິບາຍລະອຽດກ່ຽວກັບຄຳສັ່ງສຳຮອງຂໍ້ມູນ MySQL/MariaDB

ວິທີການສຳຮອງຂໍ້ມູນທີ່ນິຍົມໃຊ້ຫຼາຍທີ່ສຸດແມ່ນການໃຊ້mysqldump.
ຄໍາສັ່ງແມ່ນດັ່ງຕໍ່ໄປນີ້:
mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql
-u rootລະບຸຜູ້ໃຊ້.-p[root_password]ໃສ່ລະຫັດຜ່ານຂອງທ່ານ.[database_name]: ຊື່ຂອງຖານຂໍ້ມູນທີ່ຕ້ອງການສຳຮອງຂໍ້ມູນ.dumpfilename.sqlຊື່ຂອງໄຟລ໌ສຳຮອງຂໍ້ມູນ.
ຕົວຢ່າງ, ຖ້າຖານຂໍ້ມູນຂອງທ່ານຖືກເອີ້ນວ່າ...shopdbຊື່ໄຟລ໌ແມ່ນshop_backup.sqlດັ່ງນັ້ນຄຳສັ່ງແມ່ນ:
mysqldump -u root -p123456 shopdb > shop_backup.sql
MariaDB ຍັງສະໜັບສະໜູນສິ່ງນີ້.mysqldumpsyntax ແມ່ນສອດຄ່ອງຢ່າງສົມບູນ.
ເຈົ້າບໍ່ຊົມເຊີຍມັນບໍ?
ຂະໜາດໄຟລ໌ສຳຮອງຂໍ້ມູນ ແລະ ການບີບອັດ
ບາງຄັ້ງໄຟລ໌ຖານຂໍ້ມູນມີຂະໜາດໃຫຍ່ຫຼາຍ, ພຽງແຕ່ສອງສາມກິກະໄບເທົ່ານັ້ນ.
ນີ້ແມ່ນບ່ອນທີ່ການບີບອັດເຂົ້າມາ.
Linuxຄຳສັ່ງບີບອັດທີ່ພົບເລື້ອຍທີ່ສຸດແມ່ນgzipທ່ານ ອາຊື ກອນສິນ ນັກທຸລະກິດລາວ
gzip shop_backup.sql
ໄຟລ໌ທີ່ຖືກບີບອັດຈະກາຍເປັນshop_backup.sql.gz.
ສິ່ງນີ້ບໍ່ພຽງແຕ່ຊ່ວຍປະຢັດພື້ນທີ່ເກັບຮັກສາເທົ່ານັ້ນ ແຕ່ຍັງເຮັດໃຫ້ການສົ່ງຕໍ່ສະດວກສະບາຍອີກດ້ວຍ.
ຄຳສັ່ງ Unzip: ຂັ້ນຕອນທຳອິດໃນການກູ້ຄືນ
ຖານຂໍ້ມູນຕ້ອງໄດ້ຮັບການ unzip ກ່ອນທີ່ຈະນໍາເຂົ້າມັນ.
ຄໍາສັ່ງແມ່ນດັ່ງຕໍ່ໄປນີ້:
gunzip FileName.gz
ການແປພາສາ:
gunzip shop_backup.sql.gz
ຫຼັງຈາກການບີບອັດ, ທ່ານຈະໄດ້ຮັບshop_backup.sqlນີ້ແມ່ນໄຟລ໌ທີ່ສາມາດນໍາເຂົ້າໄດ້.
ຄຳອະທິບາຍລະອຽດກ່ຽວກັບຄຳສັ່ງນຳເຂົ້າ MySQL/MariaDB
ຄຳສັ່ງ import ແລະ backup ເກືອບຈະເປັນຮູບພາບທີ່ສະທ້ອນເຖິງກັນແລະກັນ:
mysql -u root -p[root_password] [database_name] < dumpfilename.sql
ຍົກຕົວຢ່າງ:
mysql -u root -p123456 shopdb < shop_backup.sql
ຂັ້ນຕອນນີ້ຈະນຳເຂົ້າຂໍ້ມູນທີ່ຄົບຖ້ວນຈາກໄຟລ໌ເຂົ້າໄປໃນຖານຂໍ້ມູນ.
MariaDB ຍັງໃຊ້mysqlການນໍາເຂົ້າຄໍາສັ່ງແມ່ນເຂົ້າກັນໄດ້ຢ່າງສົມບູນ.
ສະຖານະການຕົວຈິງ: ຂະບວນການທັງໝົດຕັ້ງແຕ່ການສຳຮອງຂໍ້ມູນຈົນເຖິງການກູ້ຄືນ
ສົມມຸດວ່າເຈົ້າມີການຄ້າທາງອີເລັກໂທຣນິກຂໍ້ມູນshopdb.
备份:
mysqldump -u root -p123456 shopdb > shop_backup.sql压缩:
gzip shop_backup.sql
ໄດ້ຮັບshop_backup.sql.gz.
- Unzip:
gunzip shop_backup.sql.gz
ກູ້ຄືນໄປທີ່shop_backup.sql.
- ນຳເຂົ້າ:
mysql -u root -p123456 shopdb < shop_backup.sql
ຂະບວນການທັງໝົດໄດ້ສຳເລັດລົງຢ່າງราบລื่น.
ຂໍ້ຜິດພາດທົ່ວໄປ ແລະ ວິທີແກ້ໄຂ
ຄວາມຜິດພາດທີ 1: ການເຂົ້າເຖິງຖືກປະຕິເສດ
ນີ້ຊີ້ບອກເຖິງລະຫັດຜ່ານທີ່ບໍ່ຖືກຕ້ອງ ຫຼື ສິດທິຜູ້ໃຊ້ບໍ່ພຽງພໍ.
ວິທີແກ້ໄຂ: ກວດສອບສິດອະນຸຍາດຂອງຜູ້ໃຊ້ເພື່ອຮັບປະກັນວ່າພວກມັນຢູ່ໃນສະຖານທີ່.SELECT和INSERTການອະນຸຍາດ.ຂໍ້ຜິດພາດທີ 2: ໜ່ວຍຄວາມຈຳບໍ່ພຽງພໍ
ຖານຂໍ້ມູນຖືກນຳເຂົ້າດ້ວຍຕົນເອງເນື່ອງຈາກໜ່ວຍຄວາມຈຳບໍ່ພຽງພໍ.
ວິທີແກ້ໄຂ: ການໃຊ້--single-transactionການນໍາເຂົ້າພາລາມິເຕີແບບກຸ່ມ.ຂໍ້ຜິດພາດທີ 3: ບັນຫາຂໍ້ຄວາມທີ່ອ່ານບໍ່ອອກ
ຫຼັງຈາກການນໍາເຂົ້າ, ຕົວອັກສອນຈີນຈະຖືກສະແດງເປັນເຄື່ອງໝາຍຄໍາຖາມ.
ວິທີແກ້ໄຂ: ຕື່ມສິ່ງຕໍ່ໄປນີ້ໃສ່ຄຳສັ່ງ--default-character-set=utf8mb4.
ເອກະສານ MySQL ຢ່າງເປັນທາງການລະບຸຢ່າງຊັດເຈນວ່າ:
"ໃຊ້
mysqldumpນີ້ແມ່ນວິທີທີ່ດີທີ່ສຸດໃນການປະຕິບັດການສຳຮອງຂໍ້ມູນຕາມເຫດຜົນ, ເພາະມັນຮັບປະກັນຄວາມສອດຄ່ອງລະຫວ່າງໂຄງສ້າງຂໍ້ມູນ ແລະ ເນື້ອໃນຂໍ້ມູນ. (ແຫຼ່ງຂໍ້ມູນ: ຄູ່ມືອ້າງອີງ MySQL, Oracle)
ເອກະສານທາງການຂອງ MariaDB ຍັງເນັ້ນໜັກວ່າ:
"MariaDB ເຂົ້າກັນໄດ້ຢ່າງສົມບູນກັບຄຳສັ່ງສຳຮອງຂໍ້ມູນ ແລະ ກູ້ຄືນຂໍ້ມູນຂອງ MySQL, ຊ່ວຍໃຫ້ນັກພັດທະນາສາມາດຍ້າຍຂໍ້ມູນໄດ້ຢ່າງບໍ່ມີຂໍ້ບົກຜ່ອງ." (ແຫຼ່ງຂໍ້ມູນ: ຖານຄວາມຮູ້ MariaDB)
ນີ້ເນັ້ນໜັກອີກເທື່ອໜຶ່ງເຖິງຄວາມສຳຄັນຂອງການສຳຮອງຂໍ້ມູນຜ່ານບັນທັດຄຳສັ່ງ.
ເຕັກນິກຂັ້ນສູງ: ການສຳຮອງຂໍ້ມູນອັດຕະໂນມັດ
ການສຳຮອງຂໍ້ມູນດ້ວຍຕົນເອງແມ່ນມີບັນຫາເກີນໄປບໍ?
ສາມາດໃຊ້crontabໜ້າວຽກທີ່ໄດ້ກຳນົດໄວ້.
ຕົວຢ່າງ, ການສຳຮອງຂໍ້ມູນອັດຕະໂນມັດເວລາ 2 ໂມງເຊົ້າທຸກໆມື້:
0 2 * * * mysqldump -u root -p123456 shopdb > /backup/shop_$(date +\%F).sql
ນີ້ຈະສ້າງໄຟລ໌ສຳຮອງຂໍ້ມູນທີ່ມີວັນທີທຸກໆມື້.
ເພື່ອສະຫຼຸບ
ການສຳຮອງຂໍ້ມູນຖານຂໍ້ມູນບໍ່ແມ່ນທາງເລືອກ, ແຕ່ເປັນເລື່ອງຂອງຊີວິດແລະຄວາມຕາຍ.
ແມ່ບົດmysqldump,gunzip和mysqlຄຳສັ່ງ import ແມ່ນຄ້າຍຄືກັບການມີສະວິດເປີດປິດເພື່ອຄວບຄຸມຖານຂໍ້ມູນ.
ທັດສະນະຂອງຂ້ອຍແມ່ນຈະແຈ້ງ: ຄວາມປອດໄພຂອງຂໍ້ມູນແມ່ນບູລິມະສິດສູງສຸດສຳລັບວິສາຫະກິດ, ແລະ ການສຳຮອງຂໍ້ມູນແມ່ນແນວປ້ອງກັນດຽວເທົ່ານັ້ນ.
ດັ່ງທີ່ Harvard Business Review ໄດ້ກ່າວໄວ້ວ່າ:
"ໃນຍຸກດິຈິຕອນ, ຂໍ້ມູນມີຄ່າຫຼາຍກ່ວາຄຳ."
ສະນັ້ນ, ຈົ່ງປະຕິບັດດຽວນີ້, ຂຽນສະຄຣິບຂອງເຈົ້າລົງ, ແລະ ເກັບຮັກສາຂໍ້ມູນໄວ້ໃນມືຂອງເຈົ້າຢ່າງແໜ້ນໜາ.
ນີ້ບໍ່ພຽງແຕ່ກ່ຽວກັບເທັກໂນໂລຢີເທົ່ານັ້ນ, ແຕ່ຍັງກ່ຽວກັບຄວາມຮັບຜິດຊອບອີກດ້ວຍ.
ຫວັງວ່າ ບົດຄວາມ "ຄູ່ມືຄົບຖ້ວນສົມບູນກ່ຽວກັບຄຳສັ່ງສຳຮອງຂໍ້ມູນ ແລະ ການຖອດລະຫັດ MySQL/MariaDB: ຈາກຜູ້ເລີ່ມຕົ້ນຈົນເຖິງຜູ້ຊ່ຽວຊານ" ທີ່ແບ່ງປັນໃນ ບລັອກຂອງ Chen Weiliang ( https://www.chenweiliang.com/ ) ຈະເປັນປະໂຫຍດຕໍ່ທ່ານ.
ຮູ້ສຶກວ່າບໍ່ເສຍຄ່າທີ່ຈະແບ່ງປັນລິ້ງຂອງບົດຄວາມນີ້: https://www.chenweiliang.com/cwl-33917.html
