ຄູ່ມືຄົບຖ້ວນສຳລັບຄຳສັ່ງສຳຮອງຂໍ້ມູນ ແລະ ການຖອດລະຫັດ MySQL/MariaDB: ຕັ້ງແຕ່ຜູ້ເລີ່ມຕົ້ນຈົນເຖິງຜູ້ຊ່ຽວຊານ

ຄູ່ມືຄົບຖ້ວນສຳລັບ ຄຳສັ່ງສຳຮອງຂໍ້ມູນ ແລະ ການຖອດລະຫັດ 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

ຄູ່ມືຄົບຖ້ວນສຳລັບຄຳສັ່ງສຳຮອງຂໍ້ມູນ ແລະ ການຖອດລະຫັດ 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.

  1. 备份:

    mysqldump -u root -p123456 shopdb > shop_backup.sql
    
  2. 压缩:

    gzip shop_backup.sql
    

ໄດ້ຮັບshop_backup.sql.gz.

  1. Unzip:
    gunzip shop_backup.sql.gz
    

ກູ້ຄືນໄປທີ່shop_backup.sql.

  1. ນຳເຂົ້າ:
    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

ເພື່ອປົດລັອກເຄັດລັບທີ່ເຊື່ອງໄວ້ເພີ່ມເຕີມ🔑, ຍິນດີຕ້ອນຮັບເຂົ້າສູ່ຊ່ອງ Telegram ຂອງພວກເຮົາ!

Share and like ຖ້າທ່ານມັກມັນ! ການແບ່ງປັນ ແລະຖືກໃຈຂອງເຈົ້າເປັນແຮງຈູງໃຈຢ່າງຕໍ່ເນື່ອງຂອງພວກເຮົາ!

 

评论评论

您的邮箱地址不会被公开。必填项已用*标注

ເລື່ອນໄປທາງເທີງ