មគ្គុទ្ទេសក៍ពេញលេញសម្រាប់ពាក្យបញ្ជាបម្រុងទុក និងពន្លាការបង្ហាប់ 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 បើចូលចិត្ត! ការចែករំលែក និងការចូលចិត្តរបស់អ្នកគឺជាការលើកទឹកចិត្តបន្តរបស់យើង!

 

发表评论។

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

រមូរទៅកំពូល