१. परिचय
डाटाबेस ब्याकअप र पुनर्स्थापना डाटा व्यवस्थापनका आधारभूत पक्षहरू हुन् र विश्वसनीय सञ्चालनका लागि आवश्यक छन्। MySQL को “mysqldump” डाटाबेसहरूलाई कुशल र लचिलो रूपमा ब्याकअप गर्नका लागि व्यापक रूपमा प्रयोग गरिने उपकरण हो। यो गाइडले mysqldump को आधारभूत प्रयोगदेखि उन्नत विकल्पहरूको उपयोग, पुनर्स्थापना विधिहरू र समस्या निवारणसम्म सबै कुराको विस्तृत व्याख्या प्रदान गर्दछ। हामी लेखको अन्तमा उत्कृष्ट अभ्यासहरू र सन्दर्भ स्रोतहरू पनि प्रस्तुत गर्दछौं, त्यसैले कृपया यसलाई mysqldump मा निपुण हुनका लागि मार्गदर्शकको रूपमा प्रयोग गर्नुहोस्।
२. mysqldump के हो?
२.१ mysqldump को अवलोकन
mysqldump एक कमान्ड-लाइन उपकरण हो जसलाई MySQL डाटाबेसहरूको ब्याकअप सिर्जना गर्न प्रयोग गरिन्छ। यसले सम्पूर्ण डाटाबेस, विशिष्ट तालिकाहरू वा विशिष्ट मापदण्डसँग मेल खाने डाटालाई SQL स्क्रिप्टको रूपमा डम्प गर्न सक्छ। यो डम्प फाइल डाटा पुनर्स्थापना गर्न वा डाटालाई नयाँ सर्वरमा स्थानान्तरण गर्न प्रयोग गरिन्छ।
२.२ प्रयोगका क्षेत्रहरू
- ब्याकअप : प्रणाली विफलता वा डाटा हानिका लागि तयारी गर्न नियमित रूपमा ब्याकअप प्राप्त गर्नुहोस्।
- डाटा स्थानान्तरण : सर्वरहरूबीच डाटाबेस स्थानान्तरण गर्न वा डाटालाई विकास वातावरणमा प्रतिलिपि गर्न प्रयोग गरिन्छ।
- डाटा विश्लेषण : विश्लेषण र प्रमाणीकरणका लागि विशिष्ट डाटासेटहरू निकाल्नुहोस्।

३. आधारभूत प्रयोग
३.१ आधारभूत कमान्ड वाक्यविन्यास
mysqldump को आधारभूत कमान्ड वाक्यविन्यास निम्नानुसार छ:
mysqldump -u username -p database_name > output_file_name.sql
-u username: डाटाबेस पहुँच गर्न प्रयोगकर्ता नाम।-p: पासवर्डका लागि प्रोम्प्ट गर्दछ।database_name: ब्याकअप लिन डाटाबेसको नाम।> output_file_name.sql: डम्प फाइलको गन्तव्य।
३.२ प्रयोगकर्ता प्रमाणीकरण विकल्पहरू
-h hostname: डाटाबेस सर्वरको होस्ट नाम (पूर्वनिर्धारितlocalhostहो)।-P port_number: जडान गर्न पोर्ट नम्बर (पूर्वनिर्धारित ३३०६ हो)।
३.३ उदाहरण: सम्पूर्ण डाटाबेस ब्याकअप
mysqldump -u root -p mydatabase > backup.sql
यो कमान्डले mydatabase बाट सबै डाटालाई backup.sql फाइलमा ब्याकअप गर्दछ। ब्याकअप फाइल नाममा मिति समावेश गर्नुले संस्करण व्यवस्थापन र ऐतिहासिक ट्र्याकिङलाई सहज बनाउँछ।
४. मुख्य विकल्पहरूको व्याख्या
४.१ --all-databases (-A)
यो विकल्पले तपाईंलाई सबै डाटाबेसहरूलाई एकैचोटि ब्याकअप गर्न अनुमति दिन्छ। यो तपाईंले सम्पूर्ण सर्वरको ब्याकअप लिन चाहनुहुन्छ जब उपयोगी हुन्छ।
mysqldump -u root -p --all-databases > all_databases_backup.sql
४.२ --no-data (-d)
यो विकल्प प्रयोग गरेर तालिका स्किमा मात्र ब्याकअप गर्नुहोस् र डाटा समावेश नगर्नुहोस्। उदाहरणका लागि, तपाईंले तालिका संरचना मात्र प्राप्त गरेर विकास वातावरण सेटअप गर्न यो प्रयोग गर्न सक्नुहुन्छ।
mysqldump -u root -p mydatabase --no-data > schema_only_backup.sql
४.३ --where (-w)
विशिष्ट अवस्थाहरूसँग मेल खाने डाटा मात्र ब्याकअप गर्न चाहनुहुन्छ जब यो विकल्प प्रयोग गर्नुहोस्। उदाहरणका लागि, is_active स्तम्भ १ भएको रेकर्डहरू मात्र ब्याकअप गर्न:
mysqldump -u root -p mydatabase --where="is_active=1" > filtered_data_backup.sql
४.४ --ignore-table
ब्याकअपबाट विशिष्ट तालिकाहरूलाई बहिष्कार गर्न यो विकल्प प्रयोग गर्नुहोस्। यो तपाईंले ब्याकअप नलिन चाहनुभएका तालिकाहरू छन् भने उपयोगी हुन्छ।
mysqldump -u root -p mydatabase --ignore-table=mydatabase.table1 > partial_backup.sql
५. व्यावहारिक उदाहरणहरू
५.१ विशिष्ट तालिकाहरू मात्र डम्पिङ
विशिष्ट तालिकाहरू मात्र ब्याकअप गर्न, डाटाबेस नाम पछि तालिका नामहरू निर्दिष्ट गर्नुहोस्।
mysqldump -u root -p mydatabase table1 > table1_backup.sql
यो कमान्डले table1 बाट डाटालाई मात्र table1_backup.sql मा बचत गर्दछ।
५.२ डाटा मात्र / स्किमा मात्र डम्पिङ
- डाटा मात्र :
mysqldump -u root -p mydatabase --no-create-info > data_only_backup.sqlतालिका संरचना समावेश नगरी डाटा मात्र ब्याकअप गर्दछ। - स्किमा मात्र :
bash mysqldump -u root -p mydatabase --no-data > schema_only_backup.sqlतालिका स्किमा मात्र ब्याकअप गर्दछ।
५.३ सर्तसहित डम्पिङ
विशिष्ट मापदण्ड पूरा गर्ने डाटा मात्र ब्याकअप गर्न, --where विकल्प प्रयोग गर्नुहोस्।
mysqldump -u root -p mydatabase --where="created_at >= '2023-01-01'" > recent_data_backup.sql
यो कमान्डले created_at २०२३ जनवरी १ वा त्यसपछिको डाटा मात्र ब्याकअप गर्दछ।
६. पुनर्स्थापना विधि
To restore a database backed up with mysqldump, use the mysql command. Restoration is the process of restoring the database state using a backup file.
६.१ आधारभूत पुनर्स्थापना syntax
mysql -u username -p database_name < dump_file.sql
-u username: डाटाबेससँग जोडिनको लागि प्रयोगकर्ता नाम।-p: पासवर्डको लागि प्रोम्प्ट गर्दछ।database_name: पुनर्स्थापना गर्नको लागि डाटाबेसको नाम।< dump_file.sql: पुनर्स्थापनाको लागि प्रयोग गर्ने डम्प फाइल।
६.२ उदाहरण: पुनर्स्थापना कार्यान्वयन
mysql -u root -p mydatabase < backup.sql
यो कमान्डले backup.sql फाइलबाट mydatabase मा डाटा पुनर्स्थापना गर्दछ।
६.३ पुनर्स्थापना टिप्पणीहरू
- यदि तपाईंले पुनर्स्थापना गर्दै हुनुहुने डाटाबेस अस्तित्वमा छैन भने, तपाईंले पहिले नै यसलाई सिर्जना गर्नुपर्छ।
- ठूलो मात्रामा डाटा पुनर्स्थापना गर्न समय लाग्न सक्छ, त्यसैले अग्रिम योजना महत्वपूर्ण छ।
७. mysqldump का उत्कृष्ट अभ्यासहरू
७.१ ब्याकअप शेड्युलिङ
mysqldump लाई स्क्रिप्टिङ गरेर र cron जस्तो शेड्युलर प्रयोग गरेर नियमित ब्याकअपहरूलाई स्वचालित गर्नुहोस्। निम्नलिखित शेल स्क्रिप्ट उदाहरणले राति सबै डाटाबेसहरूको ब्याकअप प्राप्त गर्दछ।
#!/bin/bash
mysqldump -u root -p'password' --all-databases > /path/to/backup/all_databases_$(date +%F).sql
७.२ ब्याकअप फाइलहरू एन्क्रिप्ट गर्ने
ब्याकअप फाइलहरूमा संवेदनशील जानकारी हुन्छ, त्यसैले gpg जस्ता उपकरणहरू प्रयोग गरेर तिनीहरूलाई एन्क्रिप्ट गर्न सिफारिस गरिन्छ।
gpg -c /path/to/backup/all_databases_$(date +%F).sql
७.३ संस्करण संगतता
फरक MySQL संस्करणहरू बीच डाटा माइग्रेट गर्दा, असंगतता समस्याहरूको सावधानी लिनुहोस्। संगतता जाँच्नको लागि अपग्रेड गर्नुअघि परीक्षण वातावरणमा ब्याकअप र पुनर्स्थापना प्रक्रियालाई सिमुलेट गर्नुहोस्।
- टेबल परिभाषाहरू पुनर्स्थापना :
mysqldump --all-databases --no-data --routines --events > dump-defs.sqlयो कमान्डले मात्र टेबल संरचना डम्प गर्दछ र नयाँ संस्करण वातावरणमा यसलाई पुनर्स्थापना गरेर संगतता जाँच्नुहोस्। - डाटा पुनर्स्थापना :
mysqldump --all-databases --no-create-info > dump-data.sqlएकपटक टेबल परिभाषाहरू संगत भएको पुष्टि भएपछि, मात्र डाटा पुनर्स्थापना गर्नुहोस्। - परीक्षण वातावरणमा प्रमाणीकरण : संस्करणहरू बीच संगतता पुष्टि गर्नको लागि, उत्पादन वातावरणमा माइग्रेट गर्नुअघि परीक्षण वातावरणमा ब्याकअप र पुनर्स्थापना गर्नुहोस् र यसले सही रूपमा काम गर्दछ भनेर जाँच्नुहोस्।
७.४ ब्याकअप भण्डारण र प्रमाणीकरण
- सुरक्षित ब्याकअप भण्डारण : ब्याकअप फाइलहरूलाई बाह्य भण्डारण वा क्लाउडमा भण्डारण गर्नुहोस् र नियमित रूपमा अपडेट गर्नुहोस्। अफ-साइट भण्डारणले शारीरिक क्षतिबाट डाटालाई संरक्षण गर्दछ।
- नियमित पुनर्स्थापना प्रमाणीकरण : ब्याकअपहरू सही रूपमा पुनर्स्थापना गर्न सकिन्छ भनेर पुष्टि गर्नको लागि समय-समयमा पुनर्स्थापना परीक्षणहरू गर्नुहोस्। ब्याकअप अमान्य भएको अवस्थामा पुनर्स्थापना प्रमाणीकरणलाई उपेक्षा नगर्नु महत्वपूर्ण छ।
८. समस्या निवारण
८.१ सामान्य त्रुटिहरू र समाधानहरू
- त्रुटि:
@@GLOBAL.GTID_PURGED cannot be changed: यो त्रुटि MySQL ८.० मा GTID सम्बन्धित समस्याहरू हुँदा देखा पर्छ। यसलाई--set-gtid-purged=COMMENTEDविकल्प प्रयोग गरेर GTID सेटिङलाई कमेन्ट आउट गरेर टार्न सकिन्छ।mysqldump -u root -p mydatabase --set-gtid-purged=COMMENTED > backup.sql - त्रुटि: अपर्याप्त डिस्क स्पेस : यदि ठूलो डाटाबेस ब्याकअपको लागि डिस्क स्पेस अपर्याप्त छ भने, ब्याकअपलाई कम्प्रेस गर्नुहोस् वा बचत स्थान परिवर्तन गर्नुहोस्। निम्नानुसार gzip बाट कम्प्रेस गरेर ब्याकअप गर्नुहोस्:
mysqldump -u root -p mydatabase | gzip > backup.sql.gz - त्रुटि: अपर्याप्त अनुमतिहरू : यदि डाटाबेस प्रयोगकर्तासँग पर्याप्त विशेषाधिकारहरू छैनन् भने, ब्याकअप वा पुनर्स्थापना विफल हुनेछ। आवश्यक विशेषाधिकारहरू (
SELECT,LOCK TABLES,SHOW VIEW, आदि) प्रदान गर्नुहोस् र पुन: प्रयास गर्नुहोस्।
८.२ संस्करण संगतता समस्याहरू
फरक MySQL संस्करणहरू बीच संस्करण संगतता समस्याहरू अपग्रेड गर्नुअघि परीक्षण मार्फत समाधान गरिन्छन्। विशेष गरी MySQL ५.७ बाट ८.० मा माइग्रेट गर्दा, --no-data विकल्पसँग मात्र टेबल परिभाषाहरू पुनर्स्थापना गर्न र संगतता जाँच्न सिफारिस गरिन्छ।
- असंगतता परीक्षण : सम्भावित समस्याहरू पहिचान गर्नको लागि अपग्रेड गर्नुअघि परीक्षण वातावरणमा माइग्रेसनलाई सिमुलेट गर्नुहोस्। असंगत सुविधाहरू र syntax मा ध्यान दिनुहोस्, र आवश्यकता अनुसार SQL स्क्रिप्ट परिमार्जन गर्नुहोस्।

९. निष्कर्ष
mysqldump MySQL डाटाबेसहरू ब्याकअप र पुनर्स्थापना गर्नको लागि एक विश्वसनीय र शक्तिशाली उपकरण हो। यस लेखले आधारभूत प्रयोग, उन्नत विकल्पहरू, सर्वोत्तम अभ्यासहरू, र समस्या समाधान समेट्ने व्यापक व्याख्या प्रदान गरेको छ। यो ज्ञानलाई प्रयोग गरेर, तपाईं mysqldump प्रयोग गरी आफ्नो डाटाबेसहरूलाई प्रभावकारी रूपमा सुरक्षित र व्यवस्थापन गर्न सक्नुहुन्छ।
ब्याकअपहरू तालिका बनाउने र फाइलहरू एन्क्रिप्ट गर्ने जस्ता सर्वोत्तम अभ्यासहरू समावेश गर्दा डेटा सुरक्षा बृद्धि हुन्छ र तपाईंको डाटाबेस अपरेसनको विश्वसनीयता सुधारिन्छ। mysqldump लाई सही तरिकाले प्रयोग गर्दा तपाईंलाई डाटाबेस समस्याहरूको लागि तयार हुन मद्दत मिल्छ।
१०. सन्दर्भहरू र स्रोतहरू
mysqldump बारे थप जान्न र व्यवहारमा लागू गर्न योलाई सन्दर्भ गर्नुहोस्। साथै, नियमित रूपमा ब्याकअप र पुनर्स्थापना प्रमाणिकरण गर्नेले डाटाबेस सुरक्षा कायम राख्नेछ र सम्भावित डेटा हानिबाट बच्न मद्दत गर्नेछ।

