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