បញ្ជីអត្ថបទ
- 1 ហេតុអ្វីបានជាពាក្យបញ្ជាបម្រុងទុក MySQL/MariaDB មានសារៈសំខាន់ខ្លាំងម្ល៉េះ?
- 2 ការពន្យល់លម្អិតអំពីពាក្យបញ្ជាបម្រុងទុក MySQL/MariaDB
- 3 ទំហំឯកសារបម្រុងទុក និងការបង្ហាប់
- 4 ពាក្យបញ្ជា Unzip: ជំហានដំបូងក្នុងការស្តារឡើងវិញ
- 5 ការពន្យល់លម្អិតអំពីពាក្យបញ្ជានាំចូល MySQL/MariaDB
- 6 សេណារីយ៉ូពិភពពិត៖ ដំណើរការពេញលេញពីការបម្រុងទុករហូតដល់ការស្តារឡើងវិញ
- 7 កំហុសទូទៅ និងដំណោះស្រាយ
- 8 ទស្សនៈដែលមានអំណាចត្រូវបានលើកឡើង
- 9 បច្ចេកទេសកម្រិតខ្ពស់៖ ការបម្រុងទុកដោយស្វ័យប្រវត្តិ
- 10 总结
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

វិធីសាស្ត្របម្រុងទុកទូទៅបំផុតគឺប្រើ 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។
បម្រុងទុក៖
mysqldump -u root -p123456 shopdb > shop_backup.sqlការបង្ហាប់៖
gzip shop_backup.sql
ទទួលបាន shop_backup.sql.gz។
- ពន្លា៖
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 បានលើកឡើងថា៖
«នៅក្នុងយុគសម័យឌីជីថល ទិន្នន័យមានតម្លៃជាងមាសទៅទៀត»។
ដូច្នេះ ចូរចាត់វិធានការឥឡូវនេះ សរសេរស្គ្រីបបម្រុងទុករបស់អ្នក ហើយរក្សាទិន្នន័យរបស់អ្នកឱ្យនៅជាប់នឹងដៃរបស់អ្នក។
នេះមិនត្រឹមតែអំពីបច្ចេកវិទ្យាប៉ុណ្ណោះទេ ប៉ុន្តែវាក៏អំពីការទទួលខុសត្រូវផងដែរ។
Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ អត្ថបទ "មគ្គុទ្ទេសក៍ពេញលេញសម្រាប់ពាក្យបញ្ជាបម្រុងទុក និងពន្លាការបង្ហាប់ MySQL/MariaDB៖ ពីអ្នកចាប់ផ្តើមដំបូងដល់អ្នកជំនាញ" ដែលបានចែករំលែកនៅទីនេះអាចមានប្រយោជន៍សម្រាប់អ្នក។
សូមស្វាគមន៍ចំពោះការចែករំលែកតំណភ្ជាប់នៃអត្ថបទនេះ៖https://www.chenweiliang.com/cwl-33917.html
