जवाबों:
zcat /path/to/file.sql.gz | mysql -u 'root' -p your_database
>फाइल में mysqlकमांड के आउटपुट को लिखेंगे जो कि संभवत: वह नहीं है जो आप चाहते हैं। इसके अतिरिक्त, यह कमांड आपको MySQL उपयोगकर्ता "रूट" के पासवर्ड के लिए संकेत देगा।stdoutmyfile.sql.gz
~/.my.cnfक्रेडेंशियल्स के साथ बनाएँ । ;)
zcat /path/to/file.sql.gz | mysql -u 'root' -p your_database। यह पता चल जाएगा कि अंतिम पैरामीटर वह डेटाबेस है जिसका आप उपयोग करना चाहते हैं, न कि आपका पासवर्ड।
Sql.gz फ़ाइल आयात करते समय एक प्रगति बार प्रदर्शित करने के pvलिए, निम्न डाउनलोड करें और उसका उपयोग करें:
pv mydump.sql.gz | gunzip | mysql -u root -p
CentOS / RHEL में, आप pv को स्थापित कर सकते हैं yum install pv।
डेबियन / उबंटू में apt-get install pv।
मैक में, brew install pv
pvउबंटू रिपोज में भी लगता है (कम से कम 12.04 एलटीएस में यह है), लेकिन फिर से sudo apt-get install pvइसे प्राप्त करने के लिए आपको करने की आवश्यकता है। धन्यवाद बंजर, यह बड़े डेटाबेस आयात के लिए एकदम सही है!
brew install pv
आयात करने से पहले डेटाबेस फ़ाइल को अनज़िप करने का सबसे सरल तरीका है। जैसा कि @Prof द्वारा बताया गया है । Moriarty आपको कमांड में पासवर्ड निर्दिष्ट नहीं करना चाहिए (आपसे पासवर्ड पूछा जाएगा)। वेबशीटशीट से लिया गया यह कमांड डेटाबेस को एक बार में अनज़िप और आयात करेगा:
gunzip < myfile.sql.gz | mysql -u root -p mydb
gunzipकि एक 10GB संकुचित फ़ाइल पर मेरी पाइपिंग के कारण मेरा आयात जम गया। यकीन नहीं है कि अगर यह स्मृति बाधाओं या कुछ और के कारण है, लेकिन मैं भविष्य में एक समय में एक कदम करने के पक्ष में गलत करूंगा।
यदि आपको कोई त्रुटि मिलती है zcat, जिसमें त्रुटि संदेश में अतिरिक्त प्रत्यय के साथ फ़ाइल का नाम है .Z, तो gzcatइसके बजाय का उपयोग करने का प्रयास करें , जैसा कि https://stackoverflow.com/questions/296717/zcat-wont-unzip-fileiles-properly पर वर्णित है
यह भी जांच लें कि SQL फ़ाइल में कोई USE- स्टेटमेंट है या नहीं। कमांड लाइन पर डेटाबेस को निर्दिष्ट करने की गारंटी नहीं है कि SQL फ़ाइल के भीतर एक अलग गंतव्य निर्दिष्ट होने पर डेटा वहाँ समाप्त होता है।
pv mydump.sql.gz | gunzip | mysql -u root -p your_database। स्वीकृत उत्तर इस दृष्टिकोण का उपयोग करता है।
के लिए bzip2 संकुचित फ़ाइलें (.sql.bz2), का उपयोग करें:
bzcat <file> | mysql -u <user> -p <database>
या
pv <file> | bunzip2 | mysql -u <user> -p <database>
प्रगति बार देखने के लिए।
आप कमांड के -c, --stdout, --to-stdoutविकल्प का उपयोग कर सकते हैंgunzip
उदाहरण के लिए:
gunzip -c file.sql.gz | mysql -u root -p database