Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

अपने MariaDB या MySQL डेटाबेस का भौतिक बैकअप बनाएं

जबकि mysqldump टूल मारियाडीबी या माईएसक्यूएल डेटाबेस या डेटाबेस सिस्टम के लिए पसंदीदा बैकअप विधि है, यह केवल तभी काम करता है जब डेटाबेस सर्वर पहुंच योग्य और चल रहा हो। यदि डेटाबेस प्रारंभ नहीं किया जा सकता है या होस्ट सिस्टम अप्राप्य है, तो डेटाबेस को अभी भी सीधे कॉपी किया जा सकता है।

एक भौतिक बैकअप अक्सर उन परिस्थितियों में आवश्यक होता है जब आपके पास केवल पुनर्प्राप्ति वातावरण (जैसे फ़िनिक्स) तक पहुंच होती है जहां आप अपने सिस्टम के डिस्क को बाहरी स्टोरेज डिवाइस के रूप में माउंट करते हैं। अगर आप तार्किक बैकअप के बारे में पढ़ना चाहते हैं mysqldump . का उपयोग करके , विषय पर हमारा गाइड देखें।

सरलीकरण के लिए, इस गाइड में MySQL नाम का उपयोग किया जाएगा लेकिन निर्देश MySQL और MariaDB दोनों के लिए काम करेंगे।

नोट इस गाइड के चरणों के लिए रूट विशेषाधिकारों की आवश्यकता है। su - . के साथ रूट यूजर के रूप में लॉग इन करें शुरू करने से पहले।

बैकअप बनाएं

  1. यदि आप पुनर्प्राप्ति मोड (एक फ़िनिक्स सत्र) में नहीं चल रहे हैं, तो mysql . को रोकें सेवा:

    systemctl stop mysql
    
  2. अपनी डेटाबेस निर्देशिका का पता लगाएँ। यह /var/lib/mysql/ होना चाहिए अधिकांश सिस्टम पर लेकिन यदि वह निर्देशिका मौजूद नहीं है, तो /etc/mysql/my.cnf की जांच करें डेटा निर्देशिका के पथ के लिए।

  3. अपने बैकअप स्टोर करने के लिए एक निर्देशिका बनाएं। यह मार्गदर्शिका /opt/db-backups . का उपयोग करेगी लेकिन आप इसे अपनी आवश्यकताओं के अनुरूप बदल सकते हैं:

    mkdir /opt/db-backups
    
  4. MySQL की डेटा डायरेक्टरी को स्टोरेज लोकेशन पर कॉपी करें। cp कमांड, rsync , या अन्य तरीके ठीक काम करेंगे, लेकिन हम tar . का उपयोग करेंगे एक बार में बैकअप को रिकर्सिवली कॉपी और gzip करने के लिए। आवश्यकतानुसार डेटाबेस निर्देशिका, बैकअप फ़ाइल नाम और लक्ष्य निर्देशिका बदलें; -$(date +%F) कमांड के अतिरिक्त फ़ाइल नाम में एक टाइमस्टैम्प सम्मिलित करेगा।

    tar cfvz /opt/db-backups/db-$(date +%F).tar.gz /var/lib/mysql/*
    
  5. MySQL सेवा को पुनरारंभ करें:

    systemctl restart mysql
    

बैकअप पुनर्स्थापित करें

  1. अपनी कार्यशील निर्देशिका को उस स्थान पर बदलें जहाँ आप ऊपर बनाए गए टारबॉल को निकाल सकें। इस उदाहरण में वर्तमान उपयोगकर्ता की होम निर्देशिका का उपयोग किया गया है:

    cd
    
  2. बंद करो mysql सेवा:

    systemctl stop mysql
    
  3. टारबॉल को कार्यशील निर्देशिका में निकालें। कमांड में टारबॉल के फ़ाइल नाम को उस तिथि के साथ बदलें जिसे आप पुनर्स्थापित करना चाहते हैं।

     tar zxvf /opt/db-backups/db-archive.tar.gz -C .
    
  4. /var/lib/mysql . की वर्तमान सामग्री को स्थानांतरित करें किसी अन्य स्थान पर यदि आप उन्हें किसी भी कारण से रखना चाहते हैं, या उन्हें पूरी तरह से हटा देना चाहते हैं। एक नया खाली mysql बनाएं आपके बैकअप किए गए DMBS को पुनर्स्थापित करने के लिए फ़ोल्डर।

    mv /var/lib/mysql /var/lib/mysql-old
    mkdir /var/lib/mysql
    
  5. बैकअप किए गए डेटाबेस सिस्टम को खाली फ़ोल्डर में कॉपी करें:

    mv ~/var/lib/mysql/* /var/lib/mysql
    
  6. आपके द्वारा अभी-अभी पुनर्स्थापित की गई फ़ाइलों के लिए उचित अनुमतियाँ सेट करें:

    chown -R mysql:mysql /var/lib/mysql
    
  7. MySQL सेवा को पुनरारंभ करें:

    systemctl restart mysql
    

अधिक जानकारी

आप इस विषय पर अतिरिक्त जानकारी के लिए निम्नलिखित संसाधनों से परामर्श करना चाह सकते हैं। हालांकि ये इस उम्मीद में प्रदान किए जाते हैं कि वे उपयोगी होंगे, कृपया ध्यान दें कि हम बाहरी रूप से होस्ट की गई सामग्री की सटीकता या समयबद्धता की पुष्टि नहीं कर सकते।

  • बैकअप और पुनर्स्थापना अवलोकन; मारियाडीबी लाइब्रेरी
  • डेटाबेस बैकअप के तरीके; MySQL संदर्भ मैनुअल

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पीडीओ उन्नत सीआरयूडी जेनरेटर टूल के साथ जल्दी से एक PHP सीआरयूडी इंटरफेस बनाएं

  2. MySQL में BIT और TINYINT में क्या अंतर है?

  3. क्लास डेटटाइम का ऑब्जेक्ट स्ट्रिंग में परिवर्तित नहीं किया जा सका

  4. MySQL में CONCAT में GROUP_CONCAT का उपयोग कैसे करें

  5. MySQL में, क्या मैं प्रतिबद्ध होने तक संदर्भित अखंडता जांच को स्थगित कर सकता हूं