बड़े MySQL डेटाबेस आयात करने की रणनीतियाँ
PHPMyAdmin आयात
संभावना है कि यदि आप इसे पढ़ रहे हैं, तो PHPMyAdmin आपके बड़े MySQL डेटाबेस आयात के लिए एक विकल्प नहीं था। फिर भी यह हमेशा एक कोशिश के काबिल है, है ना? PHPMyAdmin आयात के लिए विफलता का सबसे आम कारण आयात सीमा से अधिक है। यदि आप स्थानीय रूप से काम कर रहे हैं या आपका अपना सर्वर है, तो आप MySQL ini सेटिंग्स को बदलने का प्रयास कर सकते हैं जो आमतौर पर MySQL इंस्टॉल फ़ोल्डर में स्थित my.ini फ़ाइल में पाई जाती है। यदि आप विंडोज़ पर WAMP के साथ काम कर रहे हैं, तो आप MySQL> my.ini के अंतर्गत WAMP कंट्रोल पैनल का उपयोग करके उस फ़ाइल तक पहुँच सकते हैं। WAMP को पुनरारंभ करना याद रखें ताकि आपकी नई सेटिंग्स का उपयोग किया जा सके। जिन सेटिंग्स को आप यहां बढ़ाना चाहते हैं उनमें शामिल हैं:
max_allowed_packet
read_buffer_size
यहां तक कि बढ़ी हुई MySQL आयात सेटिंग्स के साथ भी आप PHP सेटिंग्स के कारण आयात का समय समाप्त कर सकते हैं। यदि आपके पास PHP.ini तक पहुंच है, तो आप अधिकतम निष्पादन समय और संबंधित सेटिंग्स में संपादन कर सकते हैं। WAMP में, PHP> php.ini पर WAMP नियंत्रण कक्ष के अंतर्गत PHP.ini फ़ाइल तक पहुँचें। बड़े MySQL आयात का प्रयास करते समय निम्न सेटिंग्स की सीमा बढ़ाने पर विचार करें:
max_execution_time
max_input_time
memory_limit
बिग डंप स्टैगर्ड MySQL डंप इंपोर्टर का उपयोग करना
यदि मूल PHPMyAdmin आयात काम नहीं करता है, तो आप Ozerov.de से बड़ी डंप स्क्रिप्ट को कंपित MySQL आयातों के लिए आज़माना चाह सकते हैं। यह उपयोगी स्क्रिप्ट जो करती है वह आपके आयात को छोटे ब्लॉकों में चलाती है, जो कि वास्तव में एक बड़े MySQL डंप को सफलतापूर्वक आयात करने के लिए आवश्यक है। यह http://www.ozerov.de/bigdump/ पर एक मुफ्त डाउनलोड उपलब्ध है। ।
बिग डंप का उपयोग करने की प्रक्रिया काफी सरल है:आप मूल रूप से सर्वर पर अपनी एसक्यूएल आयात फ़ाइल और बिग डंप स्क्रिप्ट को एक साथ रखते हैं, बिग डंप स्क्रिप्ट में कुछ कॉन्फ़िगरेशन सेट करते हैं और फिर स्क्रिप्ट चलाते हैं। बिग डंप बाकी को संभालता है!
इसके बारे में एक महत्वपूर्ण बिंदु अन्यथा बढ़िया विकल्प यह है कि यह MySQL निर्यात पर बिल्कुल भी काम नहीं करेगा जिसमें विस्तारित आवेषण होते हैं। तो यदि आपके पास विस्तारित सम्मिलन को रोकने का विकल्प है, तो इसे आजमाएं। अन्यथा आपको अपनी बड़ी MySQL फ़ाइल आयात करने के लिए दूसरी विधि का उपयोग करना होगा।
MySQL कंसोल के साथ कमांड लाइन पर जाएं
यदि आप WAMP चला रहे हैं (और यदि आप नहीं भी हैं) तो हमेशा पीछा करने और MySQL कंसोल का उपयोग करके अपने बड़े MySQL डेटाबेस को आयात करने का विकल्प होता है। मैं इस पोस्ट को लिखते समय 4GB डेटाबेस इस तरह से आयात कर रहा हूँ। यही कारण है कि मेरे पास लिखने के लिए कुछ समय है, क्योंकि इस विधि में भी समय लगता है जब आपके पास आयात करने के लिए 4GB SQL फ़ाइल होती है!
कुछ डेवलपर्स (आमतौर पर मुझे) एक काली स्क्रीन खोलकर और उसमें गुप्त आदेश टाइप करके भयभीत होते हैं। लेकिन यह मुक्त हो सकता है, और जब MySQL डेटाबेस की बात आती है तो यह अक्सर लेने का सबसे अच्छा मार्ग होता है। WAMP में हम MySQL> MySQL कंसोल पर WAMP कंट्रोल पैनल से MySQL कंसोल को एक्सेस करते हैं। अब आइए जानें 2 सरल MySQL कंसोल कमांड जिन्हें आपको एक MySQL डेटाबेस, कमांड-लाइन स्टाइल आयात करने की आवश्यकता है:
use `db_name`
कमांड use
इसके बाद डेटाबेस का नाम MySQL कंसोल को बताएगा कि आप किस डेटाबेस का उपयोग करना चाहते हैं। यदि आपने पहले ही उस डेटाबेस को सेट कर लिया है जिसमें आप आयात कर रहे हैं, तो आप use
जारी करके प्रारंभ करते हैं आज्ञा। मान लीजिए आपके डेटाबेस का नाम my_great_database
. है . इस मामले में, MySQL कंसोल में निम्न आदेश जारी करें। ध्यान दें कि कमांड एक सेमी-कोलन के साथ समाप्त होने चाहिए।
mysql-> use my_great_database;
mysql-> source sql_import_file.sql
कमांड source
SQL फ़ाइल के स्थान के बाद SQL फ़ाइल को उस डेटाबेस में आयात करेगा जिसे आपने पहले use
के साथ निर्दिष्ट किया था आज्ञा। आपको पथ प्रदान करना होगा, इसलिए यदि आप अपने स्थानीय सर्वर पर WAMP का उपयोग कर रहे हैं, तो SQL फ़ाइल को आसानी से प्राप्त करने के लिए C:\sql\my_import.sql जैसे स्थान पर रखकर प्रारंभ करें। इस उदाहरण पथ के साथ पूर्ण आदेश होगा:
mysql-> source C:\sql\my_import.sql;
उस आदेश को चलाने के बाद, SQL फ़ाइल को आयात करना शुरू कर देना चाहिए। प्रश्नों को चलने दें और MySQL कंसोल को बंद करने से पहले आयात को पूरा होने दें।
MySQL कमांड लाइन के लिए और दस्तावेज यहां देखे जा सकते हैं:http:// dev.mysql.com/doc/refman/5.5/hi/mysql.html ।
एक अन्य समाधान MySQL कार्यक्षेत्र का उपयोग करना है ।