3 วิธีการแก้ไขเมื่อเราไม่สามารถเปิดการทำงานของ MySQL บน Xampp
19 | | . | ความรู้, การแก้ไขปัญหา, โดเมนและโฮสติ้ง
สวัสดีครับ วันนี้เราจะมาแนะนำวิธีการแก้ไขปัญหาเมื่อเราไม่สามารถเปิดการทำงานของ MySQL บน Xampp ได้ (อ่าน Xampp คืออะไร) ว่ามีวิธีการแก้ไขปัญหาอย่างไรกันนะครับ ในบทความนี้จะแนะนำวิธีการแก้ไขปัญหา 2 วิธี และการป้องกันไม่ให้เกิดปัญหาอีกในอนาคตครับ
Table of Contents
ปัญหาที่เกิดขึ้นเมื่อเราเปิด MySQL บน Xampp
สำหรับใครที่ใช้โปรแกรม Xampp และทำการเปิด Xampp Control Panel v.3.3.0 แล้วเจอปัญหาไม่สามารถเปิดการใช้งานของ MySQL ได้ โดยเมื่อเปิดแล้วระบบทำการปิดอัตโนมัติและขึ้นข้อความนี้

และเมื่อทำการดู Logs ของ MySQL พบว่า

ให้เราทำการแก้ไขดังนี้
วิธีการแก้ไขเมื่อเราไม่สามารถเปิดการทำงานของ MySQL บน Xampp
วิธีที่ 1 ให้ปิด Service ของ Xampp ให้หมด
การเปิดการทำงานของ MySQL ไม่ได้อาจจะเกิดจากการทำงานของโปรแกรม Xampp มีการค้างการทำงาน ทำให้เราต้องทำการตรวจสอบ Service ภายในเครื่องคอมพิวเตอร์ของเราว่ามีการเปิด Xampp Service ค้างไว้หรือไม่ วิธีการสามารถทำได้โดยให้เราทำการกดปุ่ม Ctrl + Alt + Del พร้อมกัน จะปรากฏกล่องขึ้นมาให้เราเลือก ทำการเลือก Task Manager ให้เลือกแท็บ Process เพื่อค้นหา Xampp ที่ทำงานอยู่ ให้เราทำการค้นหาโปรแกรม Xampp ที่ช่องค้นหาด้านบน เมื่อเจอแล้วให้ทำการเลือกและคลิ๊กขวาบนรายการที่เลือก แล้วทำการเลือก End Task เพื่อทำการปิดการใช้งานโปรแกรม Xampp ที่ค้างไว้ครับ หลังจากที่เราปิดไปแล้วให้เราทดลองทำการเปิดโปรแกรม Xampp อีกครั้งว่าปัญหาหายไปหรือไม่ครับ
วิธีที่ 2 ลบ INFO file
- ให้ทำการแบ็คอัพไฟล์ที่อยู่ใน ให้ทำการก๊อบปี้โฟลเดอร์ C:\xampp\mysql\data ออกมาเก็บไว้อีกโฟลเดอร์นึงแล้วเปลี่ยนชื่อเป็น C:\xampp\mysql\data_bak เพื่อป้องกันข้อมูลสูญหาย
- ให้กลับมาที่ C:\xampp\mysql\data เดิม แล้วทำการลบไฟล์ INFO file ออกให้หมด
- ทำการทดลองเปิดใหม่อีกครั้งทั้งในส่วนของ Apache และ MySQL

วิธีที่ 3 ทำการติดตั้ง Xampp ใหม่
ในกรณีที่เราไม่สามารถแก้ไขด้วยวิธีที่ 1 และ 2 ได้ ให้เราทำการติดตั้ง Xampp ใหม่ ดังนี้
- ให้เราทำการติดตั้ง Xampp ใหม่ โดยดาวน์โหลด Zip file จากหน้าเว็บไซต์ดาวน์โหลด Xampp แล้วทำการติดตั้งปกติ ทั้งนี้ในส่วนของโฟลเดอร์ Xampp เดิมให้เปลี่ยนชื่อก่อน C:\xampp-old เพื่อไม่ให้ชื่อโฟลเดอร์ซ้ำกัน
- ทำการก๊อบปี้ไฟล์ php ที่อยู่ในโฟลเดอร์ htdocs จากโฟลเดอร์ C:\xampp-old\htdocs เลือกโปรเจคที่เราต้องการทำการก๊อบปี้ไปไว้ที่ใหม่ C:\xampp\htdocs
- ทำการก๊อบปี้ไฟล์ฐานข้อมูลที่อยู่ในโฟลเดอร์ C:\xampp-old\mysql\data เลือกโปรเจคที่เราต้องการทำการก๊อบปี้ไปไว้ที่ใหม่ ได้แก้ C:\xampp\mysql\data
- ทำการก๊อปปี้ไฟล์ ibdata และ ib_logfile จากภายในโฟลเดอร์ C:\xampp-old\mysql ไปไว้ที่ใหม่ C:\xampp\mysql หากที่ใหม่มีไฟล์ ibdata และ ib_logfile ให้ทำการลบทิ้ง ย้ำ ไฟล์นี้สำคัญถ้าลบไปเลยอาจจะทำให้ข้อมูลในฐานข้อมูลหายทั้งหมด ให้เราทำการแบ็คอัพไว้ด้วย
- ทำการทดสอบโดยการเปิด localhost/phpMyAdmin ดูว่า ฐานข้อมูลเราใช้งานได้หรือไม่
หมายเหตุ หากเราไม่ต้องการติดตั้ง Xampp ใหม่ เราสามารถทำการแก้ไขเฉพาะในส่วนของโฟลเดอร์ MySQL อย่างเดียวได้ โดยทำการเปลี่ยนชื่อโฟลเดอร์ data เป็น data-old แล้วทำการใช้งานในส่วนของ mysql/backup นำมาเป็นโฟลเดอร์ mysql/data แทน หลังจากนั้นให้ทำการก๊อบปี้โฟลเดอร์ฐานข้อมูลทั้งหมดที่อยู่ภายใน data-old มาใส่ ยกเว้นโฟลเดอร์ mysql, performance_schema และ phpmyadmin และทำการก๊อบปี้ไฟล์ ibdata จาก data-old มาใส่ใน data เช่นเดียวกัน ก็จะสามารถทำการแก้ไขปัญหาได้ครับ
การป้องกันไม่ให้เกิดปัญหาอีก
- ห้ามตั้งให้โปรแกรม Xampp เปิดโปรแกรมพร้อมกับการเปิดคอมพิวเตอร์ตั้งแต่แรก
- เมื่อทำการเปิดใช้งาน Apache บน Xampp ต้องรอให้เปิดเรียบร้อยก่อนทำการเปิด MySQL ในลำดับต่อไป
เป็นอย่างไรกันบ้างครับ แก้ไขปัญหากันได้ไหม หากไม่สามารถแก้ไขได้หรือมีข้อเสนอแนะใดๆ ก็สามารถแจ้งมายังทางเราได้เพื่อจะได้ทำการปรับปรุงบทความกันต่อไปนะครับ สำหรับบทความนี้ก็ขอจบเพียงเท่านี้ สวัสดีครับ