डेटाबेस सामान्य त्रुटि: 2006 MySQL सर्वर चला गया है


24

हाल ही में मुझे हर बार कोशिश करने पर एक त्रुटि मिलनी शुरू हुई और एक सामग्री को जोड़ दिया, चाहे वह किस प्रकार की हो। यह वह त्रुटि है जो ब्राउज़र में दिखाई देती है:

अपवाद को संभालते हुए अतिरिक्त नया अपवाद प्राप्त हुआ।

मूल PDOException: SQLSTATE [HY000]: सामान्य त्रुटि: 2006 MySQL सर्वर चला गया है: SELECT COUNT (cid) FROM {टिप्पणी} WHERE स्थिति =: स्थिति; Array ([: status] => 0) in comment_count_unpublished () (पंक्ति ३१३ ऑफ़ / एप्लायसेस / एमएमपी / हडॉट्स / मैड्यूल्स / कॉममेंट / कॉमडोमॉड्यूल)।

अतिरिक्त

PDOException: SQLSTATE [HY000]: सामान्य त्रुटि: 2006 MySQL सर्वर चला गया है: INSERT INTO {watchdog} (यूआईडी, प्रकार, संदेश, चर, गंभीरता, लिंक, स्थान, संदर्भकर्ता, होस्टनाम, टाइमस्टैम्प) VALUES (: db_insert_placeholder_0: db_insert ; Array ([: db_insert_placeholder_0] => 1 [: db_insert_placeholder_1] => php [: db_insert_placeholder_2] =>% प्रकार:% फ़ंक्शन में संदेश (%% फ़ाइल की लाइन)] [: db_insert_placeholder_3] => a: 6: 6%। s: 5: "% प्रकार"; s: 12: "PDOException"; s: 8: "? संदेश"; s: 154: "SQLSTATE [HY000]: सामान्य त्रुटि: 2006 MySQL सर्वर चला गया है: COUNT (cid) से F {{}} का स्टेटस =: स्टेटस; Array ([: status] = & gt; 0) "; s: 9:"% function "; s: 27:" comment_count_unpublished () "; s: 5:"% file "; s: 56:" अनुप्रयोग / MAMP /htdocs/modules/comment/comment.module"=s/::%%line";i:313=s:14:"severity_level"=i:3;} [: db_inster_placeholder_4] => 3 [: db_insert_placeholder_5] =; > [: db_insert_placeholder_6] =>http: // localhost: 8888 /? q = नोड% 2Fadd% 2Farcade-project & amp ; [: db_insert_placeholder_7] => http: // localhost: 8888 / [[: db_insert_placeholder_8] => 127.0.0.1 [: db_insert_placeholder_9] => 1338336955) dblog_watchdog () (लाइन ऑफ / एप्लीकेशन / MEMAMP / HEMAMP / HEMAMP) में से dblog.module)।

मुझे अपनी php त्रुटि फ़ाइल में निम्न त्रुटि भी मिलती है:

PHP घातक त्रुटि: संदेश 'SQLSTATE [HY000] के साथ अनपेक्षित अपवाद' PDOException ': सामान्य त्रुटि: 2006 MySQL सर्वर' में चला गया है '

स्टैक ट्रेस:
0 /Applications/MAMP/htdocs/includes/database/database.inc(2136): PDOStatement-> execute (Array)
1 /Applications/MAMP -htdocs/includes/database/database.inc(664): डेटाबेस स्टेटमेंट > निष्पादित (एरे, एरे)
2
/ एप्लाइसेंसेस / एमएनएपीएचडीओसी / किडेलस / डिटैबस / डेडबेकस। सी .2315): डेटाबेसकनेक्ट-> क्वेरी ('सिलेक्ट एक्सपायर, ...', एरे, एरे) 3 / एप्लिकेशन / एमएमपी। htdocs / शामिल / lock.inc (167): db_query ('Select expire, ...', सरणी)
4 /Applications/MAMP/htdocs/includes/lock.inc(146): lock_may_be_available ('theme_registry: ...') )
5 /Applications/MAMP/htdocs/includes/theme.inc(447): lock_acquire ('theme_registry: ...)
6 /Applications/MAMP/htdocs/includes/bootstrap.inc(427): ThemeRegistry- (सेट) सरणी)
[आंतरिक कार्य]: DrupalCacheArray -> __ destruct ()
main {मुख्य} को ६/२६/०१ पर /Applications/MAMP/htdocs/includes/database/database.inc में फेंक दिया गया

मुझे इन त्रुटि संदेशों को समझने में थोड़ी परेशानी हो रही है। क्या कोई मुझे समझने में मदद कर सकता है कि यहाँ क्या हो रहा है?

जवाबों:


31

10 में से 9 बार यह त्रुटि max_allowed_packetआपके MySQL सर्वर की my.cnf फ़ाइल में अपर्याप्त रूप से बड़ी सेटिंग के कारण होती है ।

मेरे अनुभव में एमएमपी के लिए मानक डिफ़ॉल्ट 1 एम है, जो आमतौर पर ड्रुपल के लिए पर्याप्त नहीं है (विशेष रूप से यह उत्पन्न होने वाले कुछ कैश स्ट्रिंग्स के आकार पर विचार करते हुए)।

उस सेटिंग को धीरे-धीरे बढ़ाने की कोशिश करें ताकि त्रुटि गायब हो जाए। मुझे यकीन है कि एक त्वरित Google खोज आपको बताएगी कि एमएमपी में ऐसा कैसे करें।


सौभाग्य से मेरा मामला 10 में से 1 बार श्रेणी में नहीं आया। आपकी सिफारिशों ने एक आकर्षण की तरह काम किया! धन्यवाद!
माइक

खिड़कियों में एक ही त्रुटि का सामना करना पड़ रहा है। Apache, mysql और php स्टैक को स्थानीय रूप से कॉन्फ़िगर किया है ... कृपया मार्गदर्शन करें
Prerit Mohan

और साझा होस्टिंग के मामले में, मैं क्या कर सकता हूं?
मोहम्मद अमीन बुर्क़ाडी

अपने मेजबान से संपर्क करें, उन्हें बदलाव करने के लिए कहें। यदि वे नहीं कर सकते / नहीं करेंगे, तो आपको यह तय करने की आवश्यकता है कि क्या यह होस्ट आपके लिए सही है @mohammedaminebourkadi।
क्लाइव

6

यह MySQL / MariaDB त्रुटि:

त्रुटि: 2006 ( CR_SERVER_GONE_ERROR) - MySQL सर्वर चला गया है

मूल रूप से इसका मतलब है कि क्लाइंट सर्वर पर सवाल नहीं भेज सकता है

यह या तो अस्थायी गड़बड़, बहुत बड़ी या अमान्य SQL क्वेरी, आपके सर्वर की ग़लतफ़हमी या आपके होस्टिंग प्रदाता की सीमा से हो सकता है।

सामान्य तौर पर यह त्रुटि कई चीजों का परिणाम हो सकती है, जैसे:

  • सर्वर के लिए एक प्रश्न गलत या बहुत बड़ा है,

    समाधान: बढ़ाएँ max_allowed_packetचर

    नोट: सुनिश्चित करें कि वेरिएबल [mysqld]सेक्शन के अंतर्गत है , नहीं [mysql]

    नोट: MySQL / MariaDB सर्वर को पुनरारंभ करने के लिए मत भूलना।

  • आपको क्लाइंट साइड पर टीसीपी / आईपी कनेक्शन से एक टाइमआउट मिला।

    समाधान: बढ़ाएँ wait_timeoutचर

  • सर्वर से कनेक्शन बंद होने के बाद आपने एक क्वेरी चलाने की कोशिश की।

    समाधान: आवेदन में एक तर्क त्रुटि को ठीक किया जाना चाहिए।

  • होस्ट नाम लुकअप विफल (उदाहरण के लिए DNS सर्वर समस्या), या सर्वर --skip-networkingविकल्प के साथ शुरू किया गया है ।

    एक और संभावना यह है कि आपका फ़ायरवॉल MySQL पोर्ट (उदाहरण के लिए 3306 डिफ़ॉल्ट रूप से) को ब्लॉक करता है।

  • चल रहे धागे को मार दिया गया है, इसलिए फिर से प्रयास करें।

  • आपने एक बग का सामना किया है जहां क्वेरी निष्पादित करते समय सर्वर की मृत्यु हो गई।

  • एक अलग होस्ट पर चलने वाले क्लाइंट के पास कनेक्ट करने के लिए आवश्यक विशेषाधिकार नहीं हैं।

  • और बहुत सारे, इसलिए अधिक जानें: B.5.2.9 MySQL सर्वर चला गया है

अधिक जानकारी के लिए, कृपया अपने MySQL या सिस्टम लॉग (उदाहरण /var/log/messages) की जाँच करें ।

MySQL सर्वर या क्लाइंट को डीबग करने के लिए, कृपया जाँचें: 26.5 डीबगिंग और पोर्टिंग MySQL


यदि आप डेटाबेस का उपयोग कर drushया mysqlकमांड से फाइल आयात करने की कोशिश कर रहे हैं , तो आप कर सकते हैं:

  • बाकी प्रश्नों को आगे बढ़ाने और निष्पादित करने के -fलिए एक बल विकल्प ( ) जोड़ें mysql

    यह उपयोगी है यदि डेटाबेस में कैश से संबंधित कुछ बड़े प्रश्न हैं जो बड़े हैं, लेकिन वैसे भी प्रासंगिक नहीं हैं।

    प्रयोग drush, कोशिश:cat foo.sql | $(drush sqlconnect) -f

  • छोटे मूल्यों के साथ --max-allowed-packetविकल्प लागू करने का प्रयास करें mysql

  • बढ़ाएँ max_allowed_packetऔरwait_timeout अपने सर्वर कॉन्फ़िगरेशन (जैसे ~/.my.cnf) में।

  • --skip-extended-insertबड़े प्रश्नों को तोड़ने के लिए विकल्प का उपयोग करके मूल डेटाबेस को फिर से डंप करें । फिर फ़ाइल को फिर से आयात करें।


इसे भी देखें: ERROR 2006 (HY000): MySQL सर्वर चला गया है


3

उत्तर जो @Clive सामान्य रूप से देता है, वह मामला है, लेकिन एक अतिरिक्त कारण हो सकता है, खासकर नोड ऐड फॉर्म के साथ।

नोड ऐड फॉर्म आम तौर पर बड़े होते हैं, और उन्हें संसाधित करने से बहुत सारी मेमोरी का उपयोग किया जा सकता है (विशेषकर अगर सेविंग के दौरान कोई इमेज प्रोसेसिंग होती है, जैसे क्रॉपिंग मॉड्यूल के साथ)। यदि सर्वर स्मृति से बाहर चला जाता है, तो mysqld प्रक्रिया बंद हो सकती है जिसके परिणामस्वरूप वही "चला गया" संदेश जाता है।

सर्वर लॉग में देखने के लिए सुराग है। एक CentOS मशीन पर, आप निम्नलिखित प्रविष्टि / var / log / संदेश में देख सकते हैं

1 जनवरी 00:00:00 सर्वरनाम कर्नेल: मेमोरी से बाहर: मार प्रक्रिया XXXX (mysqld) स्कोर XXX या बलिदान बालक
जनवरी 1 00:00:00 सर्वरनाम कर्नेल: मार डाला प्रक्रिया XXXX, UID XX, (mysqld) कुल-वीएम: XXXkB , एनॉन-आरएसएस: एक्सएक्सएक्सबी, फ़ाइल-आरएसएस: एक्सएक्सबीबी

यहां समाधान या तो अधिक रैम जोड़ने के लिए है, या स्वैप को जोड़ना / बढ़ाना है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.