MySQL เป็นระบบจัดการฐานข้อมูลโอเพนซอร์สที่พัฒนาบนภาษา SQL MySQL มาพร้อมกับ XAMPP Control Panel ซึ่งก็เป็นแอปพลิเคชันโอเพนซอร์สและฟรีเช่นกัน อย่างไรก็ตาม ไม่กี่วันมานี้ มีรายงานมาจำนวนมากของผู้ใช้ที่ไม่สามารถเข้าถึงฐานข้อมูล MySQL ของพวกเขาจากเบราว์เซอร์ได้ และข้อผิดพลาด "Access Denied for User 'root'@'localhost'" แสดงขึ้นเมื่อทำเช่นนั้น
ในบทความนี้ เราจะแนะนำวิธีที่ง่ายที่สุดในการแก้ไขปัญหานี้และแจ้งให้คุณทราบสาเหตุที่ทำให้เกิดข้อผิดพลาดนี้ โปรดปฏิบัติตามคู่มืออย่างระมัดระวังและตามลำดับเพื่อหลีกเลี่ยงปัญหาเพิ่มเติม
สาเหตุของข้อผิดพลาด Access Denied for User 'root'@'localhost' บน MySQL
หลังจากได้รับรายงานจากผู้ใช้หลายราย เราตัดสินใจสืบสวนปัญหาและคิดค้นวิธีแก้ไขหลังจากทดลองกับกระบวนการ troubleshooting ที่รู้จักมากมาย นอกจากนี้ เรายังตรวจสอบสาเหตุที่ทำให้เกิดปัญหานี้และรายการด้านล่าง
- การกำหนดค่า .ini ไม่ถูกต้อง: ไฟล์ .ini จัดเก็บการกำหนดค่าการเปิดใช้งานบางอย่างสำหรับเซิร์ฟเวอร์ MySQL มันทำหน้าที่เป็นเกตเวย์ในการโหลดฐานข้อมูล ในบางกรณี พบว่าลำดับโค้ดบางอย่างหายไปจากไฟล์ .ini ทำให้ข้อผิดพลาดนี้ถูกกระตุ้น
ตอนนี้คุณเข้าใจลักษณะปัญหาแล้ว เราจะไปสู่วิธีแก้ไข
วิธีแก้ไข: กำหนดค่าไฟล์ .ini ใหม่
หากไฟล์ .ini สำหรับ XAMPP control panel ไม่ได้ถูกกำหนดค่าอย่างถูกต้อง มันอาจป้องกันไม่ให้สร้างการเชื่อมต่อที่ปลอดภัยกับฐานข้อมูล MySQL ได้ ดังนั้นในขั้นตอนนี้ เราจะกำหนดค่าไฟล์ใหม่โดยการเพิ่มคำสั่งเพิ่มเติม ขั้นตอนดังนี้:
- เปิด XAMPP control panel และคลิกที่ปุ่ม Stop สำหรับ Apache และ MySQL ทั้งคู่
- ไปที่ ไดเรกทอรีการติดตั้งสำหรับ XAMPP และดับเบิลคลิกที่โฟลเดอร์ MySQL
- ดับเบิลคลิก ที่โฟลเดอร์ bin และคลิกขวาที่ไฟล์ my.ini
- คลิก ที่ตัวเลือก Edit
- ค้นหา คำว่า [mysqld] ในรายการ
- เพิ่ม คำสั่งต่อไปนี้ด้านล่างบรรทัด [mysqld] และด้านบนบรรทัด Port=...:
skip-grant-tables
- คลิก File และเลือก Save
- ปิด เอกสารและเปิด XAMPP control panel
- คลิก ที่ปุ่ม Start สำหรับ Apache และ MySQL ทั้งคู่
- เปิด browser, ลอง login เข้า MySQL และ ตรวจสอบ ว่าปัญหายังคงอยู่หรือไม่