मैं आसानी से InnoDB सेटिंग्स को बदलने का सुझाव दे सकता हूं जो कि एक mysqldump को काम करने के लिए केवल एक भारी-भरकम हाथ हो सकता है। आप सुझाव के बारे में मैं क्या पसंद नहीं कर सकता, लेकिन मेरा मानना है कि यह आपका सबसे अच्छा (केवल) विकल्प है। ये रहा:
सुझाव # 1: विस्तारित आवेषण अक्षम करें
Mysqldump के लिए डिफ़ॉल्ट सेटिंग में एक ही INSERT में सैकड़ों या हजारों पंक्तियों को एक साथ जोड़ना शामिल होगा। इसे एक विस्तारित INSERT के रूप में जाना जाता है। यह सिर्फ max_allowed_packet से परे कुछ उग रहा है ।
मैंने एक पोस्ट पर जवाब दिया Sep 01, 2011
( MySQL सर्वर बड़े डंप के आयात में बाधा डाल रहा है) जहां मैंने एक बड़े mysqldump को आयात करने के लिए एक ही काम करने पर चर्चा की। मेरा मानना है कि विस्तारित INSERT को अक्षम करने के साथ-साथ एक कष्टप्रद mysqldump बनाने में मदद मिलेगी।
mysqldump -u root --skip-extended-insert -p maia > maia.sql
बुरी खबर: यह प्रत्येक पंक्ति के लिए एक INSERT कमांड बनाने में क्या करता है। यह निश्चित रूप से mysqldump के प्रदर्शन में लगने वाले समय को बढ़ाएगा। नतीजतन, यह भी समय के लिए बढ़ जाएगा पुनः लोड करने के लिए ले जाता है (शायद 10-100 के कारक द्वारा।
मैं चर्चा की है skip-extended-insert
से पहले
उत्तर # 2: हेक्स के रूप में द्विआधारी डेटा को डंप करें (वैकल्पिक)
Mysqldump के बाइनरी डेटा को अधिक बाइट पोर्टेबल बनाने के लिए, हेक्साडेसिमल में ऐसे डेटा को डंप करें
mysqldump -u root --skip-extended-insert --hex-blob -p maia > maia.sql
बुरी खबर: यह mysqldump को थोड़ा और फूला देगा
कोशिश करो !!!
साइड नोट: max_allowed_packet का अधिकतम आकार 1G है