एक "अटक गई" MySQL तालिका को अनलॉक करना: समस्या निवारण "लॉक प्रतीक्षा समय समाप्त हो गया"
जब "लॉक प्रतीक्षा समय समाप्त हो गया" का सामना करना पड़ता है, तो पुनरारंभ करने का प्रयास करें MySQL में InnoDB तालिका के साथ काम करते समय transaction" त्रुटि होने पर, संभावना है कि लेन-देन अटक गया है। यहां तालिका को ठीक करने और अटके लेनदेन को हल करने का तरीका बताया गया है:
1। अटके लेनदेन की पहचान करें:
MySQL कमांड लाइन इंटरफ़ेस में या phpMyAdmin के माध्यम से निम्न कमांड चलाएँ:
SHOW PROCESSLIST;
यह चलने की एक सूची प्रदर्शित करेगा धागे. लंबे निष्पादन समय वाले या "नींद" स्थिति वाले थ्रेड की तलाश करें। संबंधित थ्रेड आईडी "आईडी" कॉलम में प्रदर्शित की जाएगी।
2. अटके हुए धागे को समाप्त करें:
एक बार फंसे हुए धागे की पहचान हो जाए, तो कमांड लाइन इंटरफ़ेस में निम्नलिखित कमांड का उपयोग करके इसे समाप्त करें:
KILL;
3. लेन-देन पुनः आरंभ करें (वैकल्पिक):
यदि लेन-देन अभी भी सक्रिय है, तो इसमें लगे किसी भी ताले को हटाने के लिए इसे पुनः आरंभ करें। आप निम्न आदेश चलाकर ऐसा कर सकते हैं:
START TRANSACTION; COMMIT;
4. इंडेक्स को छोड़ें (यदि लागू हो):
यदि आपने पहले किसी इंडेक्स को प्रभावित तालिका पर छोड़ने का प्रयास किया था और यह लॉक के कारण विफल हो गया, तो अटके धागे को समाप्त करने और लेनदेन को फिर से शुरू करने के बाद इसे फिर से छोड़ने का प्रयास करें .
ALTER TABLEDROP INDEX ;
इन चरणों का पालन करके, आप अटकी हुई तालिका को अनलॉक कर सकते हैं और "लॉक प्रतीक्षा समय समाप्त हो गया" त्रुटि का समाधान कर सकते हैं। भविष्य में इसी तरह की समस्याओं को रोकने के लिए किसी भी संभावित अटके लेनदेन को पहचानने और समाप्त करने के लिए नियमित रूप से चल रहे थ्रेड्स की जांच करना याद रखें।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3