परियोजना को जीवंत बनाने के बाद नियमित आधार पर डेटाबेस बैकअप लेना महत्वपूर्ण चरणों में से एक है। बैकअप आवृत्ति दिन या सप्ताह में एक बार हो सकती है। उन अनुप्रयोगों के लिए दैनिक बैकअप को प्राथमिकता दी जाती है जिनमें डेटाबेस परिवर्तन अधिक बार होते हैं। उच्च उपलब्धता वाले डेटाबेस के मामले में, ऊर्ध्वाधर स्केलिंग के बजाय उपयुक्त क्लस्टर सेटअप पर विचार किया जाना चाहिए। यह ट्यूटोरियल
नोट :इस ट्यूटोरियल में केवल
स्थानीय बैकअप
बैकअप - यह खंड एकल या एकाधिक डेटाबेस निर्यात करके फ़ाइल में स्थानीय बैकअप लेने की व्याख्या करता है।
अनुमतियां -
- चुनें - टेबल डंप करने के लिए
- दृश्य दिखाएं - दृश्य डंप करने के लिए
- TRIGGER - ट्रिगर डंप करने के लिए
- LOCK TABLES - यदि --एकल-लेनदेन विकल्प का उपयोग नहीं किया जाता है
कमांड - नीचे उल्लिखित
# Regular command - Usage - Windows, Linux
mysqldump [options] db_name [tbl_name ...] > <file path>
mysqldump [options] --databases db_name ... > <file path>
mysqldump [options] --all-databases > <file path>
नियमित कमांड का उपयोग करने के उदाहरण नीचे दिए गए हैं। ये उदाहरण आदेश उपयोगकर्ता उद्यम . का उपयोग कर रहे हैं डेटाबेस का बैकअप लेने के लिए उद्यम . यदि उपयोगकर्ता खाता auth_socket . का उपयोग कर रहा है तो उपयोगकर्ता और पासवर्ड निर्दिष्ट करने की कोई आवश्यकता नहीं है MySQL सर्वर में लॉग इन करने के लिए एल्गोरिथम। सिस्टम उपयोगकर्ता सीधे डेटाबेस तक पहुंच सकता है। आप पासवर्ड एल्गोरिदम के बारे में अधिक जानने के लिए MySQL 5.7 के साथ मूल पासवर्ड का उपयोग कैसे करें और उबंटू पर MySQL 8 कैसे स्थापित करें, इसका उल्लेख कर सकते हैं।
नोट :यदि उपयोगकर्ता को कोई पासवर्ड नहीं दिया जाता है, तो विकल्प -p का उपयोग करने की कोई आवश्यकता नहीं है।
उपयोगकर्ता नाम, होस्ट और पोर्ट के साथ एकल डेटाबेस का बैकअप लेने के उदाहरण नीचे दिए गए हैं। पासवर्ड प्रदान नहीं किया जाना चाहिए सुरक्षा उद्देश्यों के लिए इन आदेशों के साथ। आप
# All tables - with username, without password - prompts for password
mysqldump -u enterprise -p enterprise > enterprise.sql
# All tables - with username, with password - insecure
mysqldump -u enterprise -p'mypwd' enterprise > enterprise.sql
# All tables - with username, with password - Plesk way
mysqldump -u enterprise -p`cat /etc/psa/.psa.shadow` dbname > dbname.sql
# All tables - with host, with port, with username, without password - prompts for password
mysqldump -h localhost -p 3306 -u enterprise -p enterprise > enterprise.sql
# Single table(user) - with username, without password - prompts for password
mysqldump -u enterprise -p enterprise [user] > enterprise.sql
# Multiple tables(user, profile) - with username, without password - prompts for password
mysqldump -u enterprise -p enterprise user profile > enterprise.sql
उपयोगकर्ता नाम, होस्ट और पोर्ट के साथ कई डेटाबेस का बैकअप लेने के उदाहरण नीचे दिए गए हैं।
# Multiple databases - with username, without password - prompts for password
mysqldump -u enterprise -p --databases enterprise vblog mshop > mydbs.sql
# Multiple databases - with username, with password
mysqldump -u enterprise -p'mypwd' --databases enterprise vblog mshop > mydbs.sql
उपयोगकर्ता नाम, होस्ट और पोर्ट के साथ सभी डेटाबेस का बैकअप लेने का उदाहरण नीचे दिया गया है।
# All databases - with username, without password - prompts for password
mysqldump -u enterprise -p --all-databases > mydbs.sql
# All databases - with username, with password
mysqldump -u enterprise -p'mypwd' --all-databases > mydbs.sql
विंडोज़ पर पावरशेल उपयोगकर्ताओं को नीचे बताए अनुसार अलग कमांड की आवश्यकता होगी।
# PowerShell on Windows
shell> mysqldump [options] db_name [tbl_name ...] --result-file=<file path>
shell> mysqldump [options] --databases db_name ... --result-file=<file path>
shell> mysqldump [options] --all-databases --result-file=<file path>
# Example
shell> mysqldump -u enterprise -p enterprise --result-file=mydump.sql
उपर्युक्त आदेश चयनित डेटाबेस और तालिकाओं को कमांड में निर्दिष्ट फ़ाइल स्थान पर निर्यात करेंगे।
डेटाबेस बैकअप
यह खंड डेटाबेस बैकअप को शेल पाइप्स का उपयोग करके बैकअप उद्देश्य के लिए उपयोग किए जाने वाले किसी अन्य डेटाबेस में ले जाने के बारे में बताता है। हम या तो डेटाबेस को स्थानीय फ़ाइल में निर्यात कर सकते हैं और फिर इस फ़ाइल का उपयोग किसी अन्य डेटाबेस में आयात करने के लिए कर सकते हैं या सीधे शेल पाइप का उपयोग करके किसी अन्य डेटाबेस में निर्यात कर सकते हैं।
नीचे दिए गए कमांड का उपयोग डेटाबेस को सीधे दूसरे डेटाबेस में निर्यात करने के लिए किया जा सकता है। साथ ही, सुनिश्चित करें कि कमांड निष्पादित करने से पहले आपके पास दोनों सर्वरों तक पहुंच है।
# Export database to another database - Same server
mysqldump -u enterprise -p enterprise | mysql enterprise_backup
# Export database to another database - Different server
mysqldump -u enterprise -p enterprise | mysql -h host.example.com -p 3306 enterprise
इस प्रकार हम डेटाबेस को निर्यात या बैकअप कर सकते हैं।