MySQL

2013-01-04 6 views
12

में बड़ी .sql फ़ाइल आयात करें मुझे बहुत बड़ी mysql बैकअप फ़ाइल दी गई है। यह ~ 630 एमबी है ... मुझे लगता है कि किसी ने सोचा था कि डेटाबेस में छवियों को स्टोर करना एक अच्छा विचार था ... वैसे भी, मुझे किसी भी तरह MySQL में डेटा को पुनर्स्थापित करने की आवश्यकता है। लेकिन मैं इसे फाइलसाइज के कारण नहीं कर सकता।MySQL

पहले मैंने इसे MySQL वर्कबेंच के साथ करने की कोशिश की। लेकिन जब मैं फ़ाइल आयात करने का प्रयास करता हूं तो यह मुझे निम्न त्रुटि देता है:

Could not allocate xxxxx bytes to read file C:\backup.sql

फिर मैंने कमांड प्रॉम्प्ट के माध्यम से ऐसा करने का प्रयास किया।

C:\> mysql -u user -pPassword database < C:\backups.sql 

कि अंत में मुझे निम्न चेतावनी देता है::

ERROR 2006 (HY000) at line 68230: MySQL server has gone away

अनुमान बड़ा फ़ाइल आकार की वजह से भी है कि मैं cmd में निम्नलिखित में प्रवेश किया?

मेरे पास डेटा को पुनर्स्थापित करने के तरीके पर कोई अन्य विचार नहीं है। क्या यह अभी भी संभव है?

+0

ओपन यह काम करता है एक पाठ-संपादक का उपयोग कर और कुछ हिस्सों में फ़ाइल विभाजित। ध्यान दें कि आप एक वैध वाक्यविन्यास रखते हैं। – P1nGu1n

+0

_goes away_ से पहले कितना समय लगता है? मैंने mysql क्लाइंट का उपयोग कर 1.2 जीबी एसक्यूएल फ़ाइल बीटीडब्ल्यू बहाल कर दिया है, इसलिए यह निश्चित रूप से संभव है। –

+1

मैं एक MySQL विशेषज्ञ नहीं हूं लेकिन यह आलेख पाया गया है जो कॉन्फ़िगरेशन फ़ाइल में समय-समय पर सेटिंग्स से संबंधित है जो फ़ाइल के आकार के कारण आपकी समस्या का कारण हो सकता है ... http://thenitai.com/2010/10/31/a-solution-to-mysql-error-2006-hy000-mysql-server-has-gone-away/ – bUKaneer

उत्तर

11

wait_timeout और/या interactive_timeout को बढ़ाने में मदद करनी चाहिए। सबसे पहले वर्तमान मूल्य की जाँच करें:

C:\> mysql -hlocalhost -uroot -proot 

mysql> SHOW VARIABLES LIKE 'wait_timeout'; 

यदि यह बहुत कम है (उदाहरण के लिए 30 सेकंड) तो यह (उदाहरण के लिए 5 मिनट) में वृद्धि:

mysql> \. database.sql 
:

mysql> SET SESSION wait_timeout = 300; 
mysql> SET SESSION interactive_timeout = 300; 

फिर अपने एसक्यूएल फ़ाइल निष्पादित

+2

मैंने 'interactive_timeout' को कुछ बड़ा भी बदल दिया। लेकिन 'wait_timeout' के साथ मेरे लिए चाल नहीं थी। उसके बाद मैंने 'connect_timeout' को '10' से' 10000' में भी बदल दिया और यह मेरे लिए चाल है। – w00

+0

यह मेरे लिए काम है –

3

मेरे पास 3.5 जी डंप फ़ाइल थी, मैंने इसे PhpMyAdmin और MySQL वर्कबेंच के साथ आयात करने की कोशिश की लेकिन सफलता के बिना। तो मैं बस इसे

# mysql -u user_name -pYour_passwd your_db < your_dump.sql 

चलाने के लिए सांत्वना के लिए इस्तेमाल किया और यह बहुत अच्छा