जैसा बताया गया है यहां :
<ब्लॉकक्वॉट>MySQL सर्वर के दो सबसे सामान्य कारण (और सुधार) चले गए हैं (त्रुटि 2006) हैं:
सर्वर का समय समाप्त हो गया और कनेक्शन बंद हो गया। कैसे ठीक करें:
-
जांचें कि आपके mysqld की my.cnf कॉन्फ़िगरेशन फ़ाइल में प्रतीक्षा_टाइमआउट चर काफी बड़ा है। डेबियन पर:
sudo nano /etc/mysql/my.cnf
, सेट करेंwait_timeout = 600
सेकंड (जब त्रुटि 2006 चली जाती है तो आप इस मान को कम/कम कर सकते हैं), फिरsudo /etc/init.d/mysql restart
. मैंने जाँच नहीं की, लेकिन डिफ़ॉल्ट मान forwait_timeout लगभग 28800 सेकंड (8 घंटे) हो सकता है। -
सर्वर ने गलत या बहुत बड़ा पैकेट गिरा दिया। यदि mysqld को एक पैकेट मिलता है जो बहुत बड़ा या गलत है, तो यह मानता है कि क्लाइंट के साथ कुछ गलत हुआ है और कनेक्शन बंद कर देता है। आप my.cnf फ़ाइल में max_allowed_packet का मान बढ़ाकर अधिकतम पैकेट आकार सीमा बढ़ा सकते हैं। डेबियन पर:
sudo nano /etc/mysql/my.cnf
, सेट करेंmax_allowed_packet = 64M
(जब त्रुटि 2006 चली जाती है तो आप इस मान को कम/कम कर सकते हैं), फिरsudo /etc/init.d/mysql restart
।
संपादित करें:
ध्यान दें कि MySQL विकल्प फ़ाइलों में उनके आदेश पहले से ही टिप्पणियों के रूप में उपलब्ध नहीं हैं (उदाहरण के लिए php.ini में)। इसलिए आपको my.cnf
. में कोई भी बदलाव/ट्वीक टाइप करना होगा या my.ini
और उन्हें mysql/data
में रखें निर्देशिका या किसी अन्य पथ में, विकल्पों के उचित समूह के तहत जैसे [client]
, [myslqd]
, आदि। उदाहरण के लिए:
[mysqld]
wait_timeout = 600
max_allowed_packet = 64M
फिर सर्वर को पुनरारंभ करें। उनके मान प्राप्त करने के लिए, mysql क्लाइंट में टाइप करें:
> select @@wait_timeout;
> select @@max_allowed_packet;