ผู้ใช้บางรายประสบปัญหา “ข้อผิดพลาด:การปิดระบบ MySQL โดยไม่คาดคิด ” ข้อความแสดงข้อผิดพลาดเมื่อพวกเขาพยายามเริ่มเซิร์ฟเวอร์ MySQL ผ่านแผงควบคุมเว็บเซิร์ฟเวอร์ XAMPP ในบางกรณี ปัญหาปรากฏขึ้นหลังจากที่ผู้ใช้ติดตั้ง XAMPP ใหม่บนคอมพิวเตอร์ของตน สาเหตุที่เกิดขึ้นคือเมื่อไฟล์ MySQL เสียหายหรือเสียหาย ในกรณีนี้ คุณจะต้องใช้โฟลเดอร์สำรองที่สามารถพบได้ในไดเร็กทอรี mysql ในบทความนี้ เราจะนำคุณเข้าสู่กระบวนการแก้ไขข้อความแสดงข้อผิดพลาดดังกล่าว เพื่อให้คุณไม่ต้องกังวลกับสิ่งใด
การใช้เว็บเซิร์ฟเวอร์ XAMPP นั้นสะดวกและง่ายมาก แต่มีปัญหาร่วมกัน เช่น localhost ปฏิเสธที่จะเชื่อมต่อข้อความแสดงข้อผิดพลาด และอื่นๆ ปรากฏว่าผู้ใช้มักคิดว่าฐานข้อมูลของตนเสียหายหลังจากประสบปัญหาดังกล่าว อย่างไรก็ตาม นั่นไม่ใช่กรณี และคุณไม่จำเป็นต้องกังวลเกี่ยวกับการสูญเสียข้อมูลของคุณ เนื่องจากปัญหานี้สามารถหลีกเลี่ยงได้ค่อนข้างง่าย นอกจากนั้น ยังมีวิธีแก้ปัญหาบนอินเทอร์เน็ตที่ขอให้ผู้ใช้ลบ ibdata1 ไฟล์ภายในไดเร็กทอรี mysql ไฟล์ ibdata1 นั้นเป็นพื้นที่ตารางของระบบสำหรับเอ็นจิ้นการจัดเก็บข้อมูล MySQL ที่รู้จักกันในชื่อ InnoDB แม้ว่าการลบไฟล์นี้อาจช่วยแก้ปัญหาได้ในบางกรณี แต่ก็มีความเป็นไปได้สูงที่อาจทำให้ฐานข้อมูลของคุณใช้งานไม่ได้ ดังนั้นจึงไม่แนะนำจริงๆ เว้นแต่คุณจะไม่สนใจข้อมูลที่จัดเก็บไว้ในฐานข้อมูลของคุณ
ในการแก้ไขปัญหาดังกล่าว เราจะใช้โฟลเดอร์สำรองภายในไดเร็กทอรี mysql เพื่อแทนที่เนื้อหาของโฟลเดอร์ข้อมูล นอกจากนั้น หากบริการ MySQL ทำงานก่อนที่จะเกิดข้อผิดพลาด ก็อาจทำให้เกิดปัญหาได้ในบางกรณี ในสถานการณ์เช่นนี้ คุณจะต้องหยุดบริการแล้วดูว่าปัญหาได้รับการแก้ไขหรือไม่ จากที่กล่าวมา ให้เราเริ่มต้นและแสดงวิธีแก้ปัญหาโดยไม่ชักช้า
ใช้โฟลเดอร์สำรอง MySQL
ปรากฏว่า เมื่อคุณเผชิญกับข้อความแสดงข้อผิดพลาดในการปิดระบบโดยไม่คาดคิดของ MySQL คุณจะต้องใช้ไฟล์สำรองที่จัดเก็บไว้ในโฟลเดอร์สำรองของไดเร็กทอรี mysql สิ่งนี้รวมอยู่ใน XAMPP และกระบวนการค่อนข้างง่ายและตรงไปตรงมา ก่อนที่เราจะดำเนินการต่อ ขอแนะนำให้คุณสร้างข้อมูลสำรองของฐานข้อมูลของคุณในกรณีที่มีสิ่งผิดปกติเกิดขึ้น เพื่อไม่ให้ข้อมูลของคุณสูญหาย
ในวิธีนี้ เราจะเพียงแค่แทนที่เนื้อหาของโฟลเดอร์ข้อมูลภายในไดเร็กทอรี mysql ด้วยเนื้อหาของโฟลเดอร์สำรอง การทำเช่นนี้จะไม่ทำให้คุณสูญเสียข้อมูล ดังนั้นคุณจึงไม่ต้องกังวลกับเรื่องนี้ จากที่กล่าวมา ให้ทำตามคำแนะนำด้านล่างเพื่อทำสิ่งนี้:
- ก่อนอื่น ให้ปิดเว็บเซิร์ฟเวอร์ XAMPP อย่างสมบูรณ์
- เมื่อคุณปิดเว็บเซิร์ฟเวอร์แล้ว ให้ไปที่โฟลเดอร์ที่ติดตั้ง xampp โดยค่าเริ่มต้น คุณจะพบ xampp ที่ “C:\xampp”
- ภายในโฟลเดอร์ xampp ให้เปิด mysql โฟลเดอร์
- ตอนนี้ ในโฟลเดอร์ mysql ค้นหา ข้อมูล โฟลเดอร์และเปลี่ยนชื่อเป็น data_old
- เมื่อคุณทำเสร็จแล้ว ให้คลิกขวาและจากเมนูแบบเลื่อนลง ให้สร้างโฟลเดอร์ใหม่โดยไปที่ ใหม่> โฟลเดอร์ ใน mysql ไดเร็กทอรี. ตั้งชื่อโฟลเดอร์ที่สร้างใหม่นี้ว่า data.
- หลังจากสร้างโฟลเดอร์ข้อมูลแล้ว ให้เปิดโฟลเดอร์สำรองขึ้นมา คัดลอกเนื้อหาของสำรอง โฟลเดอร์แล้ววางลงใน data . ที่สร้างขึ้นใหม่ โฟลเดอร์
- เมื่อคุณทำเสร็จแล้ว ให้กลับไปที่ data_old โฟลเดอร์และคัดลอกโฟลเดอร์ฐานข้อมูลของคุณจากที่นั่นไปยัง data . ใหม่ โฟลเดอร์
หมายเหตุ:ข้าม mysql, performance_schema และ phymyadmin โฟลเดอร์จากโฟลเดอร์ data_old
- หลังจากที่คุณทำเสร็จแล้ว ให้คัดลอกไฟล์ ibdata1 จากโฟลเดอร์ data_old และแทนที่ด้วยไฟล์ที่อยู่ในโฟลเดอร์ data ใหม่
- เมื่อคุณทำเสร็จแล้ว ให้ดำเนินการ XAMPP ในฐานะผู้ดูแลระบบ เมื่อแผงควบคุม XAMPP เปิดขึ้น ให้ลองเริ่มเซิร์ฟเวอร์ MySQL เพื่อดูว่ายังมีปัญหาอยู่หรือไม่
ซ่อมแซมฐานข้อมูล MySQL ด้วย Shell
นอกจากวิธีการข้างต้นแล้ว คุณยังสามารถลองแก้ไขปัญหาได้โดยพยายามซ่อมแซมเซิร์ฟเวอร์ mysql โดยใช้ Shell ที่อยู่ในแผงควบคุม XAMPP หากคุณกำลังมองหาแนวทางบรรทัดคำสั่งมากกว่านี้ นี่คือทางออกสำหรับคุณ ในที่นี้ ก่อนอื่นเราจะพยายามเปิดเซิร์ฟเวอร์ mysql โดยใช้เชลล์ จากนั้นพยายามซ่อมแซมฐานข้อมูล mysql ในหน้าต่างเชลล์อื่น โดยทำตามคำแนะนำด้านล่าง:
- ก่อนอื่น เปิดแผงควบคุม XAMPP
- จากแผงควบคุม XAMPP เปิดเปลือกโดยคลิกที่ เชลล์ มีปุ่มให้
- เมื่อเปิดเชลล์แล้ว ให้ป้อนคำสั่งต่อไปนี้เพื่อเริ่ม mysql:
mysqld --console --skip-grant-tables --skip-external-locking
- หลังจากนั้น ให้เปิดหน้าต่างเชลล์อื่นจากแผงควบคุม
- ในหน้าต่างเชลล์ใหม่ ให้คัดลอกและวางคำสั่งต่อไปนี้เพื่อซ่อมแซมฐานข้อมูล:
mysqlcheck -r --databases mysql --use-frm
- เมื่อคุณทำเสร็จแล้ว ให้หยุด mysql จากหน้าต่างเชลล์แรก จากนั้นปิดหน้าต่างเชลล์ทั้งสอง
- หลังจากนั้น ให้เริ่มต้น mysql ใหม่เพื่อดูว่ายังมีปัญหาอยู่หรือไม่
หยุดบริการ MySQL
ตามที่ปรากฏ ปัญหาอาจเกิดจากบริการ MySQL ในบางกรณี สิ่งนี้จะเกิดขึ้นเมื่อบริการ MySQL ทำงานก่อนที่คุณจะพยายามเริ่มเซิร์ฟเวอร์ mysql ผ่านแผงควบคุม XAMPP ในกรณีเช่นนี้ คุณจะต้องหยุดบริการ MySQL จากหน้าต่าง Windows Services บริการที่ทำงานบนระบบของคุณบางครั้งอาจทำให้เกิดปัญหาที่แตกต่างกันเมื่อทำงานผิดพลาด เช่น ไม่สามารถเชื่อมต่อกับบริการของ Windows และอื่นๆ ได้ ดังนั้นจึงไม่มีอะไรต้องกังวลจริงๆ จากที่กล่าวมา ให้ทำตามคำแนะนำด้านล่างเพื่อหยุดบริการ:
- ก่อนอื่น เปิด วิ่ง กล่องโต้ตอบโดยกด แป้น Windows + R ปุ่มบนแป้นพิมพ์ของคุณ
- ในกล่องโต้ตอบ Run ให้พิมพ์ services.msc แล้วกด Enter
- คุณจะสามารถดูรายการบริการทั้งหมดในระบบของคุณในหน้าต่างบริการที่เปิดขึ้น
- จากรายการบริการ ค้นหา MySQL บริการแล้วคลิกขวาที่มัน จากเมนูแบบเลื่อนลง ให้เลือก หยุด
- อีกวิธีหนึ่ง คุณสามารถไฮไลต์บริการ MySQL แล้วคลิก หยุด ปุ่มทางด้านซ้ายมือ
- รอจนกว่าบริการจะหยุด หลังจากนั้น ให้ลองเริ่มเซิร์ฟเวอร์ MySQL ด้วยตนเองจากแผงควบคุม XAMPP เพื่อดูว่ายังมีปัญหาอยู่หรือไม่
เปลี่ยนพอร์ตไคลเอนต์และเซิร์ฟเวอร์
ในบางสถานการณ์ ปัญหาอาจเกิดจากพอร์ตที่ใช้โดยเซิร์ฟเวอร์ MySQL สิ่งนี้สามารถเกิดขึ้นได้เมื่อพอร์ตที่เซิร์ฟเวอร์ MySQL พยายามใช้นั้นถูกใช้โดยบริการอื่นอยู่แล้ว หรือเมื่อพอร์ตดังกล่าวถูกบล็อกในระบบของคุณ ในการแก้ไขปัญหา คุณจะต้องเปลี่ยนพอร์ตไคลเอนต์และเซิร์ฟเวอร์จากไฟล์ my.ini โดยทำตามคำแนะนำด้านล่าง:
- ก่อนอื่น เปิด Windows Explorer และไปที่ xampp ไดเรกทอรีการติดตั้ง
- ภายใน xampp ไปที่ mysql> bin .
- จากนั้น ในโฟลเดอร์ bin ให้เปิดไฟล์ my.ini ในแผ่นจดบันทึก สามารถทำได้โดยคลิกขวาที่ไฟล์และเลือก เปิดด้วย> Notepad .
- เมื่อไฟล์ my.ini เปิดขึ้น ให้มองหา ไคลเอนต์ และ เซิร์ฟเวอร์ พอร์ตตามที่แสดงในภาพด้านล่างและเปลี่ยน
- หลังจากนั้น ให้บันทึกไฟล์และเปิด XAMPP อีกครั้ง
- สุดท้าย ให้ลองเริ่มเซิร์ฟเวอร์ MySQL เพื่อดูว่ายังมีข้อผิดพลาดอยู่หรือไม่