कुछ उपयोगकर्ताओं को XAMPP वेब सर्वर कंट्रोल पैनल के माध्यम से MySQL सर्वर शुरू करने का प्रयास करते समय "Error: MySQL shutdown unexpectedly" त्रुटि संदेश का सामना करना पड़ रहा है। कुछ मामलों में, यह समस्या तब दिखाई देती है जब उपयोगकर्ता अपने कंप्यूटर पर XAMPP को पुनर्स्थापित करते हैं। ऐसा तब होता है जब MySQL फ़ाइलें दूषित या क्षतिग्रस्त हो जाती हैं, जिस स्थिति में आपको mysql निर्देशिका में पाए जाने वाले बैकअप फ़ोल्डर का उपयोग करना होगा। इस लेख में, हम आपको इस त्रुटि संदेश को ठीक करने की प्रक्रिया के माध्यम से ले जाएंगे ताकि आपको किसी बात की चिंता न करनी पड़े।

XAMPP वेब सर्वर का उपयोग करना वास्तव में सुविधाजनक और आसान है, लेकिन इसके अपने मुद्दे हैं जैसे लोकलहोस्ट कनेक्ट करने से इंकार करने का त्रुटि संदेश और बहुत कुछ। जैसा कि पता चला है, उपयोगकर्ता अक्सर सोचते हैं कि प्रश्न में समस्या का सामना करने के बाद उनके डेटाबेस दूषित हो गए हैं। हालांकि, ऐसा नहीं है और आपको अपने डेटा खोने की चिंता करने की ज़रूरत नहीं है क्योंकि इस समस्या को काफी आसानी से टाला जा सकता है। इसके अलावा, इंटरनेट पर ऐसे समाधान सामने आए हैं जहां उपयोगकर्ताओं को mysql निर्देशिका के अंदर ibdata1 फ़ाइल को हटाने के लिए कहा जाता है। ibdata1 फ़ाइल मूल रूप से MySQL स्टोरेज इंजन InnoDB के लिए सिस्टम टेबलस्पेस है। हालांकि इस फ़ाइल को हटाने से कुछ मामलों में समस्या ठीक हो सकती है, लेकिन यह भी बहुत संभावना है कि यह आपके डेटाबेस को अनुपयोगी बना दे। इसलिए, जब तक आप अपने डेटाबेस में संग्रहीत डेटा की परवाह नहीं करते, तब तक इसकी अनुशंसा नहीं की जाती है।
प्रश्न में समस्या को हल करने के लिए, हम बस mysql निर्देशिका के अंदर बैकअप फ़ोल्डर का उपयोग करके डेटा फ़ोल्डर की सामग्री को बदल देंगे। इसके अलावा, यदि त्रुटि से पहले MySQL सेवा चल रही है, तो यह कुछ मामलों में समस्या का कारण भी बन सकती है। ऐसे परिदृश्य में, आपको सेवा को रोकना होगा और फिर देखना होगा कि क्या समस्या हल हो गई है। इसके साथ, आइए बिना किसी देरी के शुरू करें और आपको दिखाएं कि समस्या को कैसे हल किया जाए।
MySQL बैकअप फ़ोल्डर का उपयोग करें
जैसा कि पता चला है, जब आप MySQL अनपेक्षित रूप से बंद होने की त्रुटि संदेश का सामना कर रहे हैं, तो आपको mysql निर्देशिका के बैकअप फ़ोल्डर में संग्रहीत बैकअप फ़ाइलों का उपयोग करना होगा। यह XAMPP के साथ शामिल है और प्रक्रिया काफी सरल और सीधी है। आगे बढ़ने से पहले, यह अनुशंसा की जाती है कि आप अपने डेटाबेस का बैकअप बना लें ताकि किसी भी गलती की स्थिति में आप अपना कोई डेटा न खोएं।
इस विधि में, हम बस mysql निर्देशिका के अंदर डेटा फ़ोल्डर की सामग्री को बैकअप फ़ोल्डर की सामग्री से बदल देंगे। ऐसा करने से आपका डेटा नहीं खोएगा इसलिए आपको इसके बारे में चिंता करने की ज़रूरत नहीं है। इसके साथ, इसे करने के लिए नीचे दिए गए निर्देशों का पालन करें:
- सबसे पहले, XAMPP वेब सर्वर को पूरी तरह से बंद करें।
- एक बार जब आप वेब सर्वर बंद कर चुके हैं, तो उस फ़ोल्डर पर नेविगेट करें जहां xampp इंस्टॉल है। डिफ़ॉल्ट रूप से, आप xampp को "C:\xampp" पर पाएंगे।

- xampp फ़ोल्डर के अंदर, mysql फ़ोल्डर खोलें।

- अब, mysql फ़ोल्डर में, data फ़ोल्डर का पता लगाएं और उसका नाम बदलकर data_old कर दें।
- एक बार जब आप ऐसा कर लेते हैं, तो राइट-क्लिक करें और ड्रॉप-डाउन मेनू से, नया > फ़ोल्डर पर जाकर mysql निर्देशिका में एक नया फ़ोल्डर बनाएं। इस नए बनाए गए फ़ोल्डर का नाम data रखें।
- data फ़ोल्डर बनाने के बाद, आगे बढ़ें और बैकअप फ़ोल्डर खोलें। बैकअप फ़ोल्डर की सामग्री को कॉपी करें और उन्हें नए बनाए गए data फ़ोल्डर के अंदर पेस्ट करें।
- एक बार जब आप ऐसा कर लेते हैं, तो data_old फ़ोल्डर पर वापस जाएं और वहां से अपने डेटाबेस फ़ोल्डरों को नए data फ़ोल्डर में कॉपी करें।
नोट: data_old फ़ोल्डर से mysql, performance_schema और phymyadmin फ़ोल्डर्स को छोड़ दें।

- ऐसा करने के बाद, data_old फ़ोल्डर से ibdata1 फ़ाइल को कॉपी करें और इसे नए data फ़ोल्डर के अंदर वाले से बदलें।
- अब जब आपने वह सब कर लिया है, तो आगे बढ़ें और XAMPP को व्यवस्थापक के रूप में चलाएं। एक बार XAMPP कंट्रोल पैनल खुल जाने पर, MySQL सर्वर शुरू करने का प्रयास करें यह देखने के लिए कि क्या समस्या अभी भी मौजूद है।
शेल के साथ MySQL डेटाबेस की मरम्मत करें
उपरोक्त विधि के अलावा, आप XAMPP कंट्रोल पैनल के अंदर स्थित शेल का उपयोग करके mysql सर्वर की मरम्मत करने का प्रयास करके भी समस्या को हल करने का प्रयास कर सकते हैं। यदि आप कमांड लाइन दृष्टिकोण की तलाश में हैं, तो यह आपके लिए समाधान है। यहां, हम पहले शेल का उपयोग करके mysql सर्वर को खोलने का प्रयास करेंगे और फिर एक अलग शेल विंडो में mysql डेटाबेस की मरम्मत करने का प्रयास करेंगे। ऐसा करने के लिए, नीचे दिए गए निर्देशों का पालन करें:
- सबसे पहले, XAMPP कंट्रोल पैनल खोलें।
- XAMPP कंट्रोल पैनल से, दिए गए शेल बटन पर क्लिक करके एक शेल खोलें।

- एक बार शेल खुल जाने पर, mysql शुरू करने के लिए निम्न कमांड दर्ज करें:
mysqld --console --skip-grant-tables --skip-external-locking
- उसके बाद, कंट्रोल पैनल से एक और शेल विंडो खोलें।
- नई शेल विंडो में, डेटाबेस की मरम्मत के लिए निम्न कमांड को कॉपी और पेस्ट करें:
mysqlcheck -r --databases mysql --use-frm
- एक बार जब आप ऐसा कर लेते हैं, तो पहले शेल विंडो से mysql को रोकें और फिर दोनों शेल विंडो को बंद करें।
- उसके बाद, आगे बढ़ें और mysql को पुनरारंभ करें यह देखने के लिए कि क्या समस्या अभी भी है।
MySQL सेवा रोकें
जैसा कि पता चला है, समस्या कुछ मामलों में MySQL सेवा के कारण भी हो सकती है। यह तब होता है जब आप XAMPP कंट्रोल पैनल के माध्यम से mysql सर्वर शुरू करने का प्रयास करने से पहले MySQL सेवा चल रही होती है। ऐसे मामले में, आपको बस Windows सेवाओं विंडो से MySQL सेवा को रोकना होगा। आपके सिस्टम पर चल रही सेवाएं कभी-कभी खराब होने पर अलग-अलग समस्याएं पैदा कर सकती हैं जैसे Windows सेवा से कनेक्ट होने में विफलता और बहुत कुछ इसलिए यह चिंता की कोई बात नहीं है। इसके साथ, नीचे दिए गए निर्देशों का पालन करके सेवा को रोकें:
- सबसे पहले, अपने कीबोर्ड पर Windows कुंजी + R कुंजियों को दबाकर Run संवाद बॉक्स खोलें।
- Run संवाद बॉक्स में, services.msc टाइप करें और फिर Enter दबाएं।

- आप सेवाओं विंडो में अपने सिस्टम पर सभी सेवाओं की सूची देख पाएंगे जो खुलती है।
- सेवाओं की सूची से, MySQL सेवा का पता लगाएं और फिर उस पर राइट-क्लिक करें। ड्रॉप-डाउन मेनू से, रोकें चुनें।
- वैकल्पिक रूप से, आप बस MySQL सेवा को हाइलाइट कर सकते हैं और बाईं ओर रोकें बटन पर क्लिक कर सकते हैं।

- सेवा के रुकने की प्रतीक्षा करें। उसके बाद, XAMPP कंट्रोल पैनल से मैन्युअल रूप से MySQL सर्वर शुरू करने का प्रयास करें यह देखने के लिए कि क्या समस्या अभी भी होती है।
क्लाइंट और सर्वर पोर्ट बदलें
कुछ परिदृश्यों में, समस्या MySQL सर्वर द्वारा उपयोग किए जा रहे पोर्ट के कारण भी हो सकती है। यह तब हो सकता है जब MySQL सर्वर जिन पोर्ट का उपयोग करने का प्रयास कर रहा है, वे पहले से ही किसी अन्य सेवा द्वारा उपयोग किए जा रहे हों या जब उक्त पोर्ट आपके सिस्टम पर अवरुद्ध हों। समस्या को हल करने के लिए, आपको my.ini फ़ाइल से क्लाइंट और सर्वर पोर्ट बदलने होंगे। ऐसा करने के लिए, नीचे दिए गए निर्देशों का पालन करें:
- सबसे पहले, Windows एक्सप्लोरर खोलें और xampp इंस्टॉलेशन निर्देशिका पर नेविगेट करें।

- xampp फ़ोल्डर के अंदर, mysql > bin पर जाएं।
- फिर, bin फ़ोल्डर में, my.ini फ़ाइल को नोटपैड में खोलें। यह फ़ाइल पर राइट-क्लिक करके और इसके साथ खोलें > नोटपैड चुनकर किया जा सकता है।
- एक बार my.ini फ़ाइल खुल जाने पर, नीचे दी गई तस्वीर में दिखाए अनुसार क्लाइंट और सर्वर पोर्ट देखें और उन्हें बदलें।

- उसके बाद, फ़ाइल सहेजें और XAMPP को फिर से खोलें।
- अंत में, MySQL सर्वर शुरू करने का प्रयास करें यह देखने के लिए कि क्या त्रुटि अभी भी है।