কিছু ব্যবহারকারী XAMPP ওয়েব সার্ভার কন্ট্রোল প্যানেলের মাধ্যমে MySQL সার্ভার চালু করার সময় "Error: MySQL shutdown unexpectedly" এরর মেসেজ পাচ্ছেন। কিছু কেসে, এই সমস্যা ব্যবহারকারীর কম্পিউটারে XAMPP রিইনস্টল করার পর দেখায়। এটি হয় যখন MySQL ফাইলগুলো করাপ্ট বা ডেমেজ হয়ে যায়, যেক্ষেত্রে আপনাকে mysql ডিরেক্টরিতে পাওয়া যাওয়া ব্যাকআপ ফোল্ডার ব্যবহার করতে হবে। এই আর্টিকেলে আমরা আপনাকে এই এরর মেসেজ ফিক্স করার প্রক্রিয়া ধাপে ধাপে দেখাবো যাতে আপনাকে আর চিন্তা করতে হয় না।
XAMPP ওয়েব সার্ভার ব্যবহার করা খুব সুবিধাজনক এবং সহজ, কিন্তু এরও কিছু সমস্যা রয়েছে যেমন localhost refusing to connect এরর মেসেজ ইত্যাদি। ঘটনাক্রমে, ব্যবহারকারীরা প্রায়শই মনে করেন তাদের ডেটাবেস করাপ্ট হয়ে গেছে এই সমস্যা ফেস করার পর। কিন্তু এটা সত্য নয় এবং আপনাকে আপনার ডেটা হারানোর বিষয়ে চিন্তা করতে হবে না কারণ এই সমস্যা খুব সহজে সমাধান করা যায়। এছাড়া, ইন্টারনেটে কিছু সমাধান উঠে এসেছে যেখানে ব্যবহারকারীদের mysql ডিরেক্টরির ভিতরে ibdata1 ফাইল ডিলিট করার কথা বলা হয়েছে। ibdata1 ফাইলটি মূলত MySQL স্টোরেজ ইঞ্জিন InnoDB-এর জন্য সিস্টেম টেবলস্পেস। এই ফাইল ডিলিট করলেও কিছু কেসে সমস্যা ফিক্স হয়ে যেতে পারে, কিন্তু এটাও সম্ভব যে এটি আপনার ডেটাবেসকে अनউজেবল করে দেয়। তাই এটি রিকমেন্ড করা হয় না, যদি না আপনি আপনার ডেটাবেসে সংরক্ষিত ডেটার প্রতি উদাসীন হন।
সমস্যাটি সমাধান করার জন্য, আমরা শুধু mysql ডিরেক্টরির ভিতরের backup ফোল্ডার ব্যবহার করে data ফোল্ডারের কন্টেন্ট রিপ্লেস করব। এছাড়া, যদি এরর করার আগে MySQL সার্ভিস চলতে থাকে, তবে সেটিও কিছু কেসে সমস্যা সৃষ্টি করতে পারে। সেক্ষেত্রে আপনাকে সার্ভিসটি বন্ধ করে দেখতে হবে সমস্যা সমাধান হয় কিনা। তাহলে আর দেরি না করে শুরু করি কীভাবে এই সমস্যা সমাধান করা যায়।
MySQL Backup Folder ব্যবহার করুন
MySQL shutdown unexpectedly এরর ফেস করলে, আপনাকে mysql ডিরেক্টরির backup ফোল্ডারে সংরক্ষিত ব্যাকআপ ফাইলগুলো ব্যবহার করতে হবে। এটি XAMPP-র সাথে вклю رشد এবং প্রক্রিয়াটি সহজ ও সরল। অগাম শুরু করার আগে, আপনার ডেটাবেসের একটি ব্যাকআপ তৈরি করার পরামর্শ দেয়া হয় যাতে কিছু ভুল হলে আপনার ডেটা হারান না।
এই মেথডে, আমরা শুধু mysql ডিরেক্টরির ভিতরের data ফোল্ডারের কন্টেন্টকে backup ফোল্ডারের কন্টেন্ট দিয়ে রিপ্লেস করব। এতে আপনার ডেটা হারাবে না, তাই সেটা নিয়ে চিন্তা করতে হবে না। নিচের নির্দেশনা অনুসরণ করুন:
- প্রথমে XAMPP ওয়েব সার্ভার সম্পূর্ণ বন্ধ করুন।
- ওয়েব সার্ভার বন্ধ হলে, xampp ইনস্টল করা ফোল্ডারে যান। ডিফল্টভাবে, xampp পাবেন "C:\xampp"-এ।

- xampp ফোল্ডারের ভিতরে mysql ফোল্ডার খুলুন।

- এখন, mysql ফোল্ডারে data ফোল্ডার খুঁজে বের করুন এবং এটিকে data_old-এ রিনেম করুন।
- একবার হলে, রাইট-ক্লিক করুন এবং ড্রপ-ডাউন মেনু থেকে New > Folder এ যান mysql ডিরেক্টরিতে একটি নতুন ফোল্ডার তৈরি করুন। এটিকে data নামে নামকরণ করুন।
- data ফোল্ডার তৈরি হলে, backup ফোল্ডার খুলুন। backup ফোল্ডারের কন্টেন্ট কপি করুন এবং নতুন তৈরি data ফোল্ডারে পেস্ট করুন।
- এখন আবার data_old ফোল্ডারে যান এবং সেখান থেকে আপনার ডেটাবেস ফোল্ডারগুলো কপি করে নতুন data ফোল্ডারে পেস্ট করুন।
দ্রষ্টব্য: data_old ফোল্ডার থেকে mysql, performance_schema এবং phymyadmin ফোল্ডারগুলো বাদ দিন।
- এটি হলে, data_old ফোল্ডার থেকে ibdata1 ফাইল কপি করুন এবং নতুন data ফোল্ডারের ভিতরে সেটি রিপ্লেস করুন।
- এখন যা যা করেছেন সাব হলে, XAMPP অ্যাডমিনিস্ট্রেটর হিসেবে চালু করুন। XAMPP Control Panel খুললে, MySQL সার্ভার চালু করার চেষ্টা করুন দেখতে সমস্যা বর্তমান আছে কিনা।
Shell দিয়ে MySQL ডেটাবেস রিপেয়ার করুন
উপরের মেথডের পাশাপাশি, আপনি XAMPP Control Panel-এ অবস্থিত Shell ব্যবহার করে mysql সার্ভার রিপেয়ার করার চেষ্টা করতে পারেন। আপনি যদি কমান্ড লাইন আপরোচ খুঁজেন, তবে এটি আপনার জন্য সমাধান। এখানে, আমরা প্রথমে shell ব্যবহার করে mysql সার্ভার খুলব এবং তারপর অন্য একটি shell উইন্ডোতে mysql ডেটাবেস রিপেয়ার করার চেষ্টা করব। সেজন্য নিচের নির্দেশনা অনুসরণ করুন:
- প্রথমে XAMPP Control Panel খুলুন।
- XAMPP Control Panel থেকে Shell বাটনে ক্লিক করে একটি shell খুলুন।

- Shell খুললে, নিচের কমান্ড দিয়ে mysql চালু করুন:
mysqld --console --skip-grant-tables --skip-external-locking
- তারপর কন্ট্রোল প্যানেল থেকে আরেকটি shell উইন্ডো খুলুন।
- নতুন shell উইন্ডোতে নিচের কমান্ড কপি-পেস্ট করুন ডেটাবেস রিপেয়ার করতে:
mysqlcheck -r --databases mysql --use-frm
- এটি হলে, প্রথম shell উইন্ডো থেকে mysql বন্ধ করুন এবং দুটি shell উইন্ডো বন্ধ করুন।
- তারপর, আবার mysql রিস্টার্ট করুন দেখতে সমস্যা বর্তমান আছে কিনা।
MySQL Service বন্ধ করুন
এটি ঘটে যখন MySQL সার্ভিস আপনি XAMPP Control Panel-এর মাধ্যমে mysql সার্ভার চালু করার চেষ্টা করার আগে থেকে চলছে থাকে। সেক্ষেত্রে, আপনাকে Windows Services উইন্ডো থেকে MySQL সার্ভিস বন্ধ করতে হবে। আপনার সিস্টেমে চলমান সার্ভিসগুলো কখনও কখনও ভিন্ন সমস্যা সৃষ্টি করতে পারে যখন সেগুলো ম্যালফাঙ্কশন করে যেমন Windows সার্ভিসের সাথে সংযোগ করতে ব্যর্থ হওয়া এবং আরও অনেক কিছু, তাই এতে খুব চিন্তা করার কিছু নেই। নিচের নির্দেশনা অনুসরণ করুন সার্ভিস বন্ধ করতে:
- প্রথমে Run ডায়লগ বক্স খুলুন Windows key + R কী চাপিয়ে।
- Run ডায়লগ বক্সে services.msc টাইপ করুন এবং Enter চাপুন।

- Services উইন্ডোতে আপনার সিস্টেমের সকল সার্ভিসের তালিকা দেখবেন।
- সার্ভিস তালিকা থেকে MySQL সার্ভিস খুঁজে বের করুন এবং রাইট-ক্লিক করুন। ড্রপ-ডাউন মেনু থেকে Stop বেছে নিন।
- বিকল্পভাবে, আপনি শুধু MySQL সার্ভিস হাইলাইট করে বাম হাতের Stop বাটন চাপতে পারেন।

- সার্ভিস বন্ধ হওয়া পর্যন্ত অপেক্ষা করুন। তারপর XAMPP Control Panel থেকে ম্যানুয়ালি MySQL সার্ভার চালু করার চেষ্টা করুন দেখতে সমস্যা আবার হয় কিনা।
Client এবং Server Ports পরিবর্তন করুন
কিছু সিনেরিওতে, সমস্যাটি MySQL সার্ভার tarafından ব্যবহৃত পোর্টগুলোর জন্যও হতে পারে। এটি হয় যখন MySQL সার্ভার যে পোর্টগুলো ব্যবহার করার চেষ্টা করছে সেগুলো ইতিমধ্যে অন্য সার্ভিস ব্যবহার করছে বা সেগুলো আপনার সিস্টেমে ব্লক করা আছে। সমস্যা সমাধানের জন্য, আপনাকে my.ini ফাইল থেকে client এবং server ports পরিবর্তন করতে হবে। সেজন্য নিচের নির্দেশনা অনুসরণ করুন:
- প্রথমে Windows Explorer খুলুন এবং xampp ইনস্টলেশন ডিরেক্টরিতে নেভিগেট করুন।

- xampp ফোল্ডারের ভিতরে যান mysql > bin-এ।
- তারপর, bin ফোল্ডারে my.ini ফাইল নোটপ্যাডে খুলুন। এটা করতে ফাইলে রাইট-ক্লিক করুন এবং Open with > Notepad বেছে নিন।
- my.ini ফাইল খুললে, নিচের ছবিতে দেখানো মতো client এবং server port খুঁজে বের করুন এবং সেগুলো পরিবর্তন করুন।

- এটি হলে, ফাইলটি সেভ করুন এবং XAMPP আবার খুলুন।
- শেষে, MySQL সার্ভার চালু করার চেষ্টা করুন দেখতে এরর বর্তমান আছে কিনা।