MySQL के साथ निर्यात या आयात करने के लिए, अपने सर्वर में लॉग इन करके शुरू करें, अधिमानतः sudo
. के साथ (रूट) पहुंच।
MySQL से एक्सपोर्ट करना
MySQL डेटाबेस को टेक्स्ट फ़ाइल में निर्यात करने के लिए सबसे अच्छा टूल है mysqldump
।
mysqldump
का उपयोग करने के लिए , आपको एक उपयुक्त MySQL user
. के लॉगिन क्रेडेंशियल जानने की आवश्यकता होगी जिसके पास विचाराधीन डेटाबेस को निर्यात करने के लिए आवश्यक विशेषाधिकार हैं।
उस जानकारी को हाथ में लेकर, mysqldump
दर्ज करें उपयुक्त झंडे और विकल्पों के साथ कमांड:
$ mysqldump -u my_username -p database_name > output_file_path
उपयोग में विकल्प हैं:
- द
-u
ध्वज इंगित करता है कि MySQLusername
अनुसरण करेंगे। - द
-p
ध्वज इंगित करता है कि हमेंpassword
. के लिए संकेत दिया जाना चाहिए उपरोक्तusername
. के साथ संबद्ध । database_name
निश्चित रूप से निर्यात करने के लिए डेटाबेस का सटीक नाम है।- द
>
प्रतीकSTDOUT
. के लिए एक यूनिक्स निर्देश है , जो यूनिक्स कमांड को जारी किए गए कमांड के टेक्स्ट परिणामों को दूसरे स्थान पर आउटपुट करने की अनुमति देता है। इस स्थिति में, वह आउटपुट स्थान एक फ़ाइल पथ है, जिसेoutput_file_path
. द्वारा निर्दिष्ट किया जाता है ।
नोट:आमतौर पर output_file_path
के लिए पूरी तरह से योग्य पथ और फ़ाइल नाम इनपुट करने की सलाह दी जाती है , इसलिए परिणामी फ़ाइल ठीक वहीं उत्पन्न होती है जहाँ आप इसे चाहते हैं।
उदाहरण के लिए, books
को निर्यात करने के लिए डेटाबेस book_admin
. के रूप में उपयोगकर्ता को ~/backup/database
निर्देशिका, हम निम्नलिखित कमांड का उपयोग कर सकते हैं:
$ mysqldump -u book_admin -p books > ~/backup/database/books.sql
Enter password:
जब ऊपर संकेत दिया जाता है तो हमारा पासवर्ड दर्ज करने के बाद, यह कमांड हमारी बैकअप फ़ाइल को .sql
. के साथ बनाता है प्रत्यय (जो पूरी तरह से वैकल्पिक है लेकिन उचित है) उपयुक्त निर्देशिका में।
डिफ़ॉल्ट रूप से, mysqldump
नहीं होगा उन आदेशों को सहेजें जो वास्तविक डेटाबेस के अस्तित्व को संशोधित करने का प्रयास करते हैं। इसके बजाय, डिफ़ॉल्ट रूप से, केवल वास्तविक tables
(और उनके संबंधित डेटा) सहेजे जाते हैं और इस प्रकार इस फ़ाइल का उपयोग करके बाद में आयात के लिए तैयार किए जाएंगे। यदि आपको एक और डेटाबेस को निर्यात करने (और बाद में फिर से बनाने) की क्षमता की आवश्यकता है, तो --databases
पर पढ़ें। आधिकारिक दस्तावेज में झंडा।
MySQL में आयात करना
अब जब आपने सीख लिया है कि MySQL डेटाबेस का बैकअप कैसे निर्यात किया जाता है, तो हम इस प्रक्रिया को उलटने और आयात के बारे में जानेंगे। मौजूदा डेटाबेस में बैकअप।
जैसा कि आप कल्पना कर सकते हैं, mysqldump
. की तारीफ करने के लिए निर्यात के लिए प्रयुक्त कमांड, एक समान mysqlimport
है आयात करने के लिए आदेश।
ज्यादातर मामलों में, आयात करना वस्तुतः समान . पास करने का मामला है mysqlimport
. के विकल्प आज्ञा। हमारे सहेजे गए books.sql
. को आयात करने के लिए पहले बनाई गई फ़ाइल में, हम बहुत से समान फ़्लैग और बहुत समान सिंटैक्स का उपयोग करेंगे।
$ mysqlimport -u book_admin -p books_production ~/backup/database/books.sql
Enter password:
पहले की तरह, -u
और -p
प्रमाणीकरण के लिए झंडे की आवश्यकता होती है, जिसके बाद database
. का नाम आता है आयात करने के लिए (इस मामले में, हम अलग, उत्पादन डेटाबेस का उपयोग कर रहे हैं), फिर अंतिम रूप से SQL डंप फ़ाइल के लिए पूर्ण-योग्य पथ निर्दिष्ट करना जिसमें हमारा आयात डेटा शामिल है, ~/backup/database/books.sql
. यह भी ध्यान देने योग्य है कि mysqlimport
<
. की आवश्यकता नहीं है या >
(STDIN/STDOUT) प्रतीक जिनका उपयोग mysqldump
. के साथ किया गया था ।
इसके साथ, आपने सीखा है कि किसी मौजूदा डेटाबेस को निर्यात/बैकअप दोनों कैसे करें, और फिर उस डेटा को उसी या किसी भिन्न डेटाबेस में आयात/पुनर्स्थापित कैसे करें।