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

कैसे बैकअप और पुनर्स्थापित करने के लिए (निर्यात और आयात) MySQL डेटाबेस ट्यूटोरियल

phpMyAdmin का उपयोग MySQL या MariaDB डेटाबेस को आसानी से निर्यात या बैकअप करने के लिए किया जा सकता है। हालाँकि, यदि डेटाबेस का आकार बहुत बड़ा है, तो शायद यह एक अच्छा विचार नहीं होगा। phpMyAdmin उपयोगकर्ताओं को डेटाबेस डंप को फ़ाइल या स्क्रीन पर डिस्प्ले के रूप में सहेजने की अनुमति देता है, जिसमें सर्वर से SQL स्टेटमेंट निर्यात करना और उपयोगकर्ता के कंप्यूटर पर धीमे नेटवर्क कनेक्शन या इंटरनेट पर डेटा संचारित करना शामिल है। यह प्रक्रिया निर्यात प्रक्रिया को धीमा कर देती है, डेटाबेस लॉकिंग समय बढ़ा देती है और इस प्रकार MySQL या MariaDB की अनुपलब्धता, सर्वर को धीमा कर देती है और यदि सिस्टम के संसाधनों को बहुत अधिक आने वाले वेब कनेक्शन हॉगिंग करते हैं, तो बस Apache HTTPD सर्वर को क्रैश कर सकता है।

MySQL या MariaDB डेटाबेस को बैकअप और निर्यात करने का बेहतर तरीका सर्वर पर स्थानीय रूप से कार्य करना है, ताकि टेबल के डेटा को बिना किसी देरी के स्थानीय डिस्क पर तुरंत डंप किया जा सके। इस प्रकार निर्यात की गति तेज होगी और MySQL या MariaDB डेटाबेस या टेबल को एक्सेस करने के लिए लॉक होने का समय कम हो जाएगा। यह ट्यूटोरियल mysqldump का उपयोग करके डेटाबेस सर्वर पर ही MySQL या MariaDB डेटाबेस (डेटाबेस) का बैकअप (निर्यात) और पुनर्स्थापित (आयात) करने के बारे में गाइड है। और mysql उपयोगिताओं MySQL या MariaDB का बैकअप लेने के लिए मूल रूप से दो तरीके हैं, एक है सभी टेबल फ़ाइलों (*.frm, *.MYD, और *.MYI फ़ाइलें) को कॉपी करना या mysqlhotcopy का उपयोग करना। उपयोगिता, लेकिन यह केवल MyISAM तालिकाओं के लिए काम करती है। नीचे दिए गए ट्यूटोरियल में mysqldump पर ध्यान दिया जाएगा जो MyISAM और InnoDB टेबल दोनों के लिए काम करता है।

एक MySQL या MariaDB डेटाबेस को निर्यात या बैकअप या डंप कैसे करें

एक MySQL या MariaDB डेटाबेस को डंप फ़ाइल में निर्यात करने के लिए, बस शेल में निम्न कमांड सिंटैक्स टाइप करें। यदि आपके पास भौतिक बॉक्स तक पहुंच नहीं है, तो आप मशीन में दूरस्थ रूप से लॉगिन करने के लिए टेलनेट या एसएसएच का उपयोग कर सकते हैं।

mysqldump -u username -ppassword database_name > dump.sql

उपयोगकर्ता नाम बदलें एक मान्य MySQL या MariaDB उपयोगकर्ता आईडी के साथ, पासवर्ड उपयोगकर्ता के लिए मान्य पासवर्ड के साथ (महत्वपूर्ण:-p और पासवर्ड के बाद कोई स्थान नहीं, अन्यथा mysqldump आपको पासवर्ड के लिए संकेत देगा फिर भी पासवर्ड को डेटाबेस नाम के रूप में मानेगा, इसलिए बैकअप विफल हो जाएगा) और database_name उस डेटाबेस के वास्तविक नाम के साथ जिसे आप निर्यात करना चाहते हैं। अंत में, आप आउटपुट SQL डंप फ़ाइल के लिए जो भी नाम पसंद करते हैं उसे रख सकते हैं, यहाँ dump.sql दिया गया है ।

database_name . का संपूर्ण डेटा, टेबल, संरचना और डेटाबेस dump.sql . नामक SQL टेक्स्ट फ़ाइल में बैकअप लिया जाएगा उपरोक्त आदेश के साथ।

केवल एक MySQL या MariaDB डेटाबेस संरचना कैसे निर्यात करें

यदि आपको अब डेटाबेस की तालिकाओं के अंदर डेटा की आवश्यकता नहीं है (संभावना नहीं), तो बस –नो-डेटा जोड़ें केवल टेबल की संरचनाओं को निर्यात करने के लिए स्विच करें। उदाहरण के लिए, वाक्य रचना है:

mysqldump -u username -ppassword --no-data database_name > dump.sql

केवल MySQL या MariaDB डेटाबेस के डेटा का बैकअप कैसे लें

यदि आप केवल डेटा का बैकअप लेना चाहते हैं, तो –no-create-info . का उपयोग करें विकल्प। इस सेटिंग के साथ, डंप आयात करते समय डेटाबेस, टेबल, फ़ील्ड और अन्य संरचनाओं को फिर से नहीं बनाएगा। इसका उपयोग केवल तभी करें जब आपको पूरा यकीन हो कि आपके पास समान संरचना वाले डुप्लिकेट डेटाबेस हैं, जहां आपको केवल डेटा रीफ़्रेश करने की आवश्यकता है।

mysqldump -u username -ppassword --no-create-info database_name > dump.sql

कई MySQL या MariaDB डेटाबेस को टेक्स्ट फ़ाइल में कैसे डंप करें

–डेटाबेस विकल्प आपको 1 से अधिक डेटाबेस निर्दिष्ट करने की अनुमति देता है। उदाहरण वाक्य रचना:

mysqldump -u username -ppassword --databases db_name1 [db_name2 ...] > dump.sql

MySQL या MariaDB सर्वर में सभी डेटाबेस को कैसे डंप करें

सभी डेटाबेस को डंप करने के लिए, –ऑल-डेटाबेस . का उपयोग करें विकल्प, और अब किसी डेटाबेस के नाम को निर्दिष्ट करने की आवश्यकता नहीं है।

mysqldump -u username -ppassword --all-databases > dump.sql

InnoDB तालिकाओं का ऑनलाइन बैकअप कैसे लें

डेटाबेस का बैकअप अनिवार्य रूप से MySQL या MariaDB सर्वर अनुप्रयोगों के लिए अनुपलब्ध है क्योंकि निर्यात करते समय, सभी तालिकाओं ने डंप की शुरुआत में समाप्त होने तक फ्लश टेबल के साथ फ्लश टेबल का उपयोग करके वैश्विक रीड लॉक प्राप्त किया। इसलिए हालांकि READ स्टेटमेंट आगे बढ़ सकते हैं, सभी INSERT, UPDATE और DELETE स्टेटमेंट्स को लॉक टेबल के कारण कतार में लगना होगा, जैसे कि MySQL या MariaDB डाउन या ठप हो गया हो। यदि आप InnoDB का उपयोग कर रहे हैं, तो –एकल-लेनदेन इस लॉकिंग समय अवधि को लगभग न के बराबर करने का तरीका है जैसे कि कोई ऑनलाइन बैकअप कर रहा हो। यह बाइनरी लॉग कोऑर्डिनेट्स को पढ़कर काम करता है जैसे ही लॉक का अधिग्रहण किया जाता है, और फिर लॉक को तुरंत रिलीज़ कर दिया जाता है।

सिंटैक्स:

mysqldump -u username -ppassword  --all-databases --single-transaction > dump.sql

MySQL या MariaDB डेटाबेस को पुनर्स्थापित और आयात कैसे करें

आप आयात टैब का उपयोग करके phpMyAdmin से पुनर्स्थापित कर सकते हैं। तेज़ तरीके से, डंप फ़ाइल को MySQL या MariaDB सर्वर पर अपलोड करें, और डेटाबेस को वापस MySQL या MariaDB सर्वर में आयात करने के लिए निम्न कमांड का उपयोग करें।

mysql -u username -ppassword database_name < dump.sql
यदि आप किसी अन्य सर्वर पर दूरस्थ रूप से MySQL या MariaDB सर्वर से कनेक्ट करना चाहते हैं, तो संलग्न करें -h सर्वर-नाम-या-आईपी-पता आदेश को।

MySQL या MariaDB डेटाबेस का आयात और निर्यात न केवल आपदा आने पर डेटा को पुनर्प्राप्त करने के लिए महत्वपूर्ण है, बल्कि वेब होस्टिंग प्रदाताओं को स्विच करते समय किसी अन्य सर्वर पर माइग्रेट या स्थानांतरित करने का एक आसान तरीका भी प्रदान करता है। हालाँकि, ध्यान दें कि एक सामान्य समस्या - वर्ण सेट एन्कोडिंग। यदि कुछ भी निर्दिष्ट नहीं है, तो mysqldump की नई रिलीज़ UTF8 को अपने डिफ़ॉल्ट वर्णसेट के रूप में उपयोग करती है, जबकि पुराने संस्करण (आमतौर पर 4.1 से पुराने) लैटिन 1 को डिफ़ॉल्ट वर्ण सेट के रूप में उपयोग करते हैं। यदि आप डेटाबेस वर्णसेट लैटिन 1 है और यूटीएफ 8 संयोजन में डंप करते हैं, तो डेटा समाप्त हो सकता है बस बकवास, विकृत, या अपठनीय (अक्सर वर्डप्रेस ब्लॉग के साथ होता है)। अगर ऐसा है, तो –डिफ़ॉल्ट-वर्ण-सेट=charset_name . का उपयोग करें कैरेक्टर सेट को निर्दिष्ट करने या डेटाबेस को UTF8 में बदलने का विकल्प।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL में sqlalchemy कनेक्शन कैसे बंद करें

  2. UnicodeEncodeError:'लैटिन -1' कोडेक वर्ण को सांकेतिक शब्दों में बदलना नहीं कर सकता

  3. पंक्तियों को कॉलम में गतिशील रूप से परिवर्तित करने के लिए MySQL क्वेरी

  4. एक MySQL डेटाबेस से डेटा हटाएं

  5. MySQL में सीक्वेंस कैसे बनाएं