មគ្គុទ្ទេសក៍ពេញលេញសម្រាប់ពាក្យបញ្ជាបម្រុងទុក និងពន្លាការបង្ហាប់ MySQL/MariaDB៖ ពីអ្នកចាប់ផ្តើមរហូតដល់អ្នកជំនាញ

MySQLមគ្គុទ្ទេសក៍ពេញលេញសម្រាប់ពាក្យបញ្ជាបម្រុងទុក និងពន្លាការបង្ហាប់ MariaDB

ពីអ្នកចាប់ផ្តើមដំបូងរហូតដល់អ្នកជំនាញ គ្របដណ្តប់...កម្មវិធី MySQLវគ្គសិក្សានេះផ្តល់នូវលំហូរការងារពេញលេញសម្រាប់ការបម្រុងទុកទិន្នន័យ (dump backup), ការបង្ហាប់ទិន្នន័យ (gzip compression), ការពន្លាទិន្នន័យ (gunzip decompression), និងការនាំចូលទិន្នន័យ MySQL ដែលជួយអ្នកអភិវឌ្ឍន៍ឱ្យស្ទាត់ជំនាញបច្ចេកទេសបម្រុងទុក និងសង្គ្រោះទិន្នន័យ (database backup and recovery) យ៉ាងឆាប់រហ័ស ដើម្បីធានាបាននូវសុវត្ថិភាពទិន្នន័យ និងនិរន្តរភាពអាជីវកម្ម។

ទោះបីជា MySQL និង MariaDB មានប្រភពដើមដូចគ្នាក៏ដោយ ក៏ពួកវាខុសគ្នាយ៉ាងខ្លាំងទាក់ទងនឹងការផ្តល់អាជ្ញាប័ណ្ណប្រភពបើកចំហ ការពង្រីកមុខងារ ការបង្កើនប្រសិទ្ធភាពដំណើរការ និងប្រព័ន្ធអេកូឡូស៊ីសហគមន៍។ MariaDB សង្កត់ធ្ងន់លើការច្នៃប្រឌិតប្រភពបើកចំហ និងមុខងារពេញលេញ ខណៈពេលដែល MySQL ពឹងផ្អែកលើការគាំទ្រពាណិជ្ជកម្មរបស់ Oracle ហើយស័ក្តិសមជាងសម្រាប់កម្មវិធីកម្រិតសហគ្រាស។

មានតែពេលដែលមូលដ្ឋានទិន្នន័យគាំងទេ ទើបខ្ញុំបានដឹងពីសារៈសំខាន់នៃការបម្រុងទុក។

អ្នកអភិវឌ្ឍន៍គ្រប់រូបសុទ្ធតែធ្លាប់ជួបប្រទះនឹងការឈឺចាប់នៃការបាត់បង់ទិន្នន័យ ហើយពាក្យបញ្ជាបម្រុងទុក និងស្ដារឡើងវិញរបស់ MySQL និង MariaDB គឺជាខ្សែជីវិត។

ឥឡូវនេះ ខ្ញុំនឹងណែនាំអ្នកអំពីការយល់ដឹងអំពីពាក្យបញ្ជាបម្រុងទុក ការពន្លាឯកសារ និងនាំចូលសម្រាប់ MySQL/MariaDB តាមរបៀបសាមញ្ញបំផុត។

ហេតុអ្វីបានជាពាក្យបញ្ជាបម្រុងទុក MySQL/MariaDB មានសារៈសំខាន់ខ្លាំងម្ល៉េះ?

ទិន្នន័យគឺជាសរសៃឈាមរបស់អាជីវកម្មមួយ។

ប្រសិនបើមូលដ្ឋានទិន្នន័យត្រូវបានខូច វាអាចនាំឱ្យមានការបិទអាជីវកម្ម និងសូម្បីតែការខាតបង់រាប់លាន។

យោងតាមការសិក្សាមួយនៅក្នុង IEEE Transactions on Computers សហគ្រាសនានាទទួលរងនូវការខាតបង់រហូតដល់ [ចំនួនទឹកប្រាក់ដែលបាត់] ក្នុងមួយនាទីពីពេលវេលារងចាំមូលដ្ឋានទិន្នន័យ។ ៣០០៧៥ ដុល្លារ(ប្រភព៖ 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 ក៏គាំទ្ររឿងនេះដែរ។ mysqldumpវាក្យសម្ព័ន្ធគឺស្របគ្នាទាំងស្រុង។

តើវាមិនងាយយល់ទេឬ?

ទំហំឯកសារបម្រុងទុក និងការបង្ហាប់

ពេលខ្លះឯកសារមូលដ្ឋានទិន្នន័យមានទំហំធំខ្លាំង ជារឿយៗមានទំហំច្រើនជីហ្គាបៃ។

នេះជាកន្លែងដែលការបង្ហាប់ចូលមក។

Linuxពាក្យបញ្ជាបង្ហាប់ទូទៅបំផុតគឺ gzip:

gzip shop_backup.sql

ឯកសារដែលបានបង្ហាប់ក្លាយជា shop_backup.sql.gz

នេះមិនត្រឹមតែជួយសន្សំសំចៃទំហំផ្ទុកប៉ុណ្ណោះទេ ថែមទាំងជួយសម្រួលដល់ការផ្ទេរទិន្នន័យផងដែរ។

ពាក្យបញ្ជា Unzip: ជំហានដំបូងក្នុងការស្តារឡើងវិញ

មូលដ្ឋានទិន្នន័យត្រូវតែត្រូវបាន unzip មុនពេលនាំចូលវា។

ពាក្យបញ្ជាមានដូចខាងក្រោម៖

gunzip FileName.gz

ដូចជា:

gunzip shop_backup.sql.gz

បន្ទាប់ពីការ decompression អ្នកនឹងទទួលបាន shop_backup.sqlនេះជាឯកសារដែលអាចនាំចូលបាន។

ការពន្យល់លម្អិតអំពីពាក្យបញ្ជានាំចូល MySQL/MariaDB

ពាក្យបញ្ជា import និងការបម្រុងទុកគឺស្ទើរតែជារូបភាពឆ្លុះនៃគ្នាទៅវិញទៅមក៖

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. ពន្លា៖
    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 បានលើកឡើងថា៖

«នៅក្នុងយុគសម័យឌីជីថល ទិន្នន័យមានតម្លៃជាងមាសទៅទៀត»។

ដូច្នេះ ចូរចាត់វិធានការឥឡូវនេះ សរសេរស្គ្រីបបម្រុងទុករបស់អ្នក ហើយរក្សាទិន្នន័យរបស់អ្នកឱ្យនៅជាប់នឹងដៃរបស់អ្នក។

នេះមិនត្រឹមតែអំពីបច្ចេកវិទ្យាប៉ុណ្ណោះទេ ប៉ុន្តែវាក៏អំពីការទទួលខុសត្រូវផងដែរ។

Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ អត្ថបទ "មគ្គុទ្ទេសក៍ពេញលេញសម្រាប់ពាក្យបញ្ជាបម្រុងទុក និងពន្លាការបង្ហាប់ MySQL/MariaDB៖ ពីអ្នកចាប់ផ្តើមដំបូងដល់អ្នកជំនាញ" ដែលបានចែករំលែកនៅទីនេះអាចមានប្រយោជន៍សម្រាប់អ្នក។

សូមស្វាគមន៍ចំពោះការចែករំលែកតំណភ្ជាប់នៃអត្ថបទនេះ៖https://www.chenweiliang.com/cwl-33917.html

ដើម្បីដោះសោល្បិចលាក់កំបាំងបន្ថែមទៀត🔑 សូមស្វាគមន៍មកកាន់ឆានែល Telegram របស់យើង!

Share និង Like បើចូលចិត្ត! ការចែករំលែក និងការចូលចិត្តរបស់អ្នកគឺជាការលើកទឹកចិត្តបន្តរបស់យើង!

 

发表评论។

អាសយដ្ឋានអ៊ីមែលរបស់អ្នកនឹងមិនត្រូវបានផ្សព្វផ្សាយទេ។ 必填项已用។ * 标注។

រមូរទៅកំពូល