आपको यह देखने की जरूरत है कि टाइमआउट के लिए कौन से डिफ़ॉल्ट मान हैं:
mysql> show variables like '%timeout';
+----------------------------+-------+
| Variable_name | Value |
+----------------------------+-------+
| connect_timeout | 10 |
| delayed_insert_timeout | 300 |
| innodb_lock_wait_timeout | 50 |
| innodb_rollback_on_timeout | OFF |
| interactive_timeout | 60 |
| net_read_timeout | 30 |
| net_write_timeout | 60 |
| slave_net_timeout | 3600 |
| table_lock_wait_timeout | 50 |
| wait_timeout | 60 |
+----------------------------+-------+
10 rows in set (0.00 sec)
आमतौर पर, मैं कई टाइमआउट चर के लिए देखता हूं। यदि आप MySQL कार्यक्षेत्र, Mysql क्लाइंट या PHP ऐप से MySQL का उपयोग करते हैं, तो यह बहुत ही अनिवार्य है, जो किसी DB सर्वर पर MySQL से संपर्क करने वाले ऐप सर्वर पर है।
यहाँ MySQL प्रलेखन कहा जाता है कि इन सेटिंग्स में से एक:
- Wait_timeout (डिफ़ॉल्ट 28800 [8 घंटे]): सर्वर को बंद किए बिना एक गैर-सक्रिय कनेक्शन पर गतिविधि के लिए सेकंड की संख्या का इंतजार होता है। यह टाइमआउट केवल टीसीपी / आईपी और यूनिक्स सॉकेट फ़ाइल कनेक्शन पर लागू होता है, न कि नामित पाइप, या साझा की गई मेमोरी का उपयोग करके किए गए कनेक्शन पर। थ्रेड स्टार्टअप पर, सत्र प्रतीक्षा_ टाइमआउट मान क्लाइंट के प्रकार (जैसा कि CLIENT_INTERACTIVE कनेक्ट विकल्प mysll_real_connect () द्वारा परिभाषित किया गया है) के आधार पर वैश्विक प्रतीक्षा_टाइम मान से या वैश्विक इंटरैक्टिव_टाइम मान से प्रारंभ किया जाता है। इंटरेक्टिव_टाइमआउट भी देखें।
- इंटरैक्टिव_टाइम (डिफ़ॉल्ट 28800 [8 घंटे]): सर्वर को बंद करने से पहले एक इंटरैक्टिव कनेक्शन पर गतिविधि के लिए सेकंड की संख्या का इंतजार होता है। एक इंटरैक्टिव क्लाइंट को क्लाइंट के रूप में परिभाषित किया जाता है जो CLIENT_INTERACTIVE विकल्प का उपयोग mysql_real_connect () में करता है। यह भी देखें wait_time
- net_read_timeout (डिफ़ॉल्ट 30): रीड को निरस्त करने से पहले कनेक्शन से अधिक डेटा की प्रतीक्षा करने के लिए सेकंड की संख्या। जब सर्वर क्लाइंट से पढ़ रहा है, तो net_read_timeout गर्भपात करने के समय नियंत्रित करने वाला टाइमआउट मान है। जब सर्वर क्लाइंट को लिख रहा है, तो net_write_timeout गर्भपात करने के लिए समयबाह्य मान नियंत्रित कर रहा है। Slave_net_timeout भी देखें।
- net_write_timeout (डिफ़ॉल्ट 60): लेखन को निरस्त करने से पहले एक कनेक्शन के लिए एक ब्लॉक के लिए प्रतीक्षा करने के लिए सेकंड की संख्या। Net_read_timeout भी देखें।
कृपया सुनिश्चित करें कि इन टाइमआउट को प्रश्नों को समायोजित करने के लिए पर्याप्त रूप से सेट किया गया है जो बहुत लंबे समय तक चल सकते हैं, जिसमें शामिल हो सकते हैं:
- द्रव्यमान
UPDATEs
- द्रव्यमान
DELETEs
ENABLE KEYS
एक बड़े MyISAM पर
उन प्रश्नों से निपटने के लिए जो आपके साथ संपर्क खोने के बाद भी चलते रहते हैं, आपको लंबे समय तक चलने वाली क्वेरी की प्रक्रिया आईडी के खिलाफ KILL चलाना होगा। KILL कमांड के साथ भी, आपको किसी भी क्वेरी के लिए इंतजार करना होगा जो डिस्क-सघन चरणों के बीच में है या प्रगति में आंतरिक म्यूटेक्स है।