१. परिचय
MySQL डेटाबेसहरूको ब्याकअप र पुनर्स्थापना प्रणालीको सुरक्षा र स्थिरता कायम राख्नको लागि एक महत्वपूर्ण कार्य हो। अप्रत्याशित डेटा हानि वा सर्वर विफलताको अवस्थामा, पुनर्प्राप्ति योजना राख्नु आवश्यक छ। mysqldump कमान्ड MySQL डेटाबेसहरूको ब्याकअप लिनको लागि सबैभन्दा सामान्य उपकरणहरू मध्ये एक हो, जसलाई यसको सरल syntax र लचिलो विकल्पहरूको लागि चिनिन्छ।
यो लेखले तपाईंलाई mysqldump कमान्डको आधारभूत कुराहरू, उन्नत विकल्पहरू प्रयोग गर्ने तरिका, र ब्याकअपबाट पुनर्स्थापना गर्ने चरणबद्ध निर्देशनहरूबाट हिँडाउँछ।
२. mysqldump को आधारभूत syntax
mysqldump कमान्ड MySQL डेटा र संरचनाहरू डम्प (निर्यात) गर्न प्रयोग गरिन्छ। आधारभूत syntax समीक्षा गरेर सुरु गरौं।
mysqldump -u [username] -p [database_name] > [output_file.sql]
प्यारामिटर व्याख्या
- -u [username] : जडान गर्न MySQL प्रयोगकर्ता नाम निर्दिष्ट गर्दछ।
- -p : MySQL पासवर्डको लागि प्रोम्प्ट गर्दछ (यदि छोडियो भने, तपाईंलाई अन्तर्क्रियात्मक रूपमा सोधिनेछ)।
- [database_name] : तपाईंले ब्याकअप लिन चाहेको डेटाबेसको नाम।
- > [output_file.sql] : सिर्जना गरिने डम्प फाइलको पथ र नाम।
यो आधारभूत syntax मा विकल्पहरू थपेर, तपाईं फरक प्रयोगका लागि अनुकूलित डम्प फाइलहरू उत्पन्न गर्न सक्नुहुन्छ।
नमूना कमान्ड
mysqldump -u root -p my_database > my_database_backup.sql
यो कमान्डले my_database नामक डेटाबेसलाई my_database_backup.sql नामक फाइलमा ब्याकअप गर्दछ।

३. सामान्य विकल्पहरू र तिनको प्रयोग
३.१ –all-databases
--all-databases विकल्पले MySQL सर्वरमा रहेका सबै डेटाबेसहरू एकैचोटि ब्याकअप लिन अनुमति दिन्छ, जसले धेरै डेटाबेसहरूलाई सँगै व्यवस्थापन गर्न उपयोगी बनाउँछ।
mysqldump -u root -p --all-databases > all_databases_backup.sql
३.२ –no-data
--no-data विकल्पसँग, केवल डेटाबेस schema (संरचना) डम्प गरिन्छ वास्तविक डेटा बिना। यो तब उपयोगी हुन्छ जब तपाईंले केवल तालिका परिभाषाहरू प्रतिकृति बनाउन चाहनुहुन्छ।
mysqldump -u root -p --no-data my_database > my_database_schema.sql
३.३ –add-drop-table
--add-drop-table विकल्पले डम्प फाइलमा DROP TABLE वक्तव्यहरू समावेश गर्दछ। यसले पुनर्स्थापनाको समयमा डुप्लिकेट तालिकाहरू रोक्छ र विद्यमान तालिकाहरू ओभरराइट गर्न सजिलो बनाउँछ।
mysqldump -u root -p --add-drop-table my_database > my_database_backup.sql
३.४ –lock-tables
--lock-tables विकल्पले ब्याकअप गर्दा तालिकाहरू लक गर्दछ जसले डम्प प्रक्रियाको समयमा परिवर्तनहरू रोक्छ। यो विशेष गरी लाइभ उत्पादन डेटाबेसहरू व्यवहार गर्दा उपयोगी हुन्छ।
mysqldump -u root -p --lock-tables my_database > locked_backup.sql
४. उन्नत विकल्पहरू
४.१ –where सँग सर्तीय डम्पहरू
--where विकल्पले विशिष्ट सर्तहरूमा आधारित डेटा डम्प गर्न अनुमति दिन्छ। उदाहरणको लागि, तपाईंले निश्चित मितिपछि सिर्जना गरिएका रेकर्डहरू मात्र ब्याकअप लिन सक्नुहुन्छ।
mysqldump -u root -p my_database --where="created_at >= '2023-01-01'" > filtered_data_backup.sql
यो उदाहरणमा, created_at क्षेत्र जनवरी १, २०२३ वा त्यसपछि रहेका रेकर्डहरू मात्र ब्याकअप गरिन्छन्।
४.२ –xml विकल्प
--xml विकल्पले डेटालाई XML ढाँचामा निर्यात गर्दछ। यो तब प्रयोग गर्नुहोस् जब तपाईंले XML आवश्यकता राख्ने एप्लिकेसनहरू वा प्रणालीहरूलाई डेटाबेस डेटा प्रदान गर्न आवश्यक छ।
mysqldump -u root -p --xml my_database > database_backup.xml

५. mysqldump सँग डेटा पुनर्स्थापना
mysqldump सँग सिर्जना गरिएको ब्याकअपबाट डेटाबेस पुनर्स्थापना गर्न, mysql कमान्ड प्रयोग गर्नुहोस्:
mysql -u [username] -p [database_name] < [backup_file.sql]
५.१ पुनर्स्थापना उदाहरण
निम्न कमान्डले my_database_backup.sql फाइलबाट my_database डेटाबेस पुनर्स्थापना गर्दछ:
mysql -u root -p my_database < my_database_backup.sql
महत्वपूर्ण टिप्पणीहरू
- ओभरराइटको जोखिम : पुनर्स्थापनाले विद्यमान डेटा ओभरराइट गर्न सक्छ, त्यसैले सावधानीपूर्वक अगाडि बढ्नुहोस्।
- एनकोडिङ जाँच : बहु-बाइट क्यारेक्टरहरू ह्यान्डल गर्दा, डेटा भ्रष्ट हुनबाट बच्न एनकोडिङ सुसंगत सुनिश्चित गर्नुहोस्।
६. ब्याकअप रणनीति टिप्सहरू
६.१ नियमित ब्याकअपहरू स्वचालित गर्नु
डेटाबेस सामग्री बारम्बार परिवर्तन हुने भएकाले, ब्याकअपहरू स्वचालित गर्नु महत्वपूर्ण छ। तपाईंले दैनिक ब्याकअपहरू तालिका बनाउन cron जडहरू प्रयोग गर्न सक्नुहुन्छ।
0 2 * * * mysqldump -u root -p my_database > /path/to/backup/my_database_$(date +%F).sql
यस उदाहरणमा, ब्याकअप हरेक दिन बिहान २ बजे चल्छ, र वर्तमान मिती फाइलनाममा समावेश गरिन्छ।
6.2 क्रमिक ब्याकअपहरू
प्रत्येक पटक सम्पूर्ण डाटाबेसको ब्याकअप गर्ने सट्टा, क्रमिक ब्याकअपहरूले केवल परिवर्तनहरू मात्र बचत गर्न सक्छन्। --where विकल्प प्रयोग गरेर हालै संशोधित डेटा डम्प गरेर, तपाईंले प्रक्रिया अझ प्रभावकारी बनाउन सक्नुहुन्छ।

७. निष्कर्ष
mysqldump उपकरण MySQL डाटाबेसहरू ब्याकअप गर्ने सरल तर शक्तिशाली तरिका हो। मूल प्रयोग र उन्नत विकल्पहरू दुवैलाई बुझेर, तपाईंले प्रणालीको विश्वसनीयता र डेटा सुरक्षा बढाउने ठोस ब्याकअप रणनीति निर्माण गर्न सक्नुहुन्छ। नियमित ब्याकअपहरूलाई स्वचालित बनाउने र क्रमिक रणनीतिहरू प्रयोग गर्ने कुरा प्रभावकारी डाटाबेस व्यवस्थापनको मुख्य कुञ्जी हो।
mysqldump सँग तपाईंको ब्याकअप प्रक्रिया अनुकूलन गर्न र डाटाबेस प्रशासन कौशललाई सुदृढ बनाउन यो मार्गदर्शक प्रयोग गर्नुहोस्।


