Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การแก้ไขปัญหา >> ข้อผิดพลาด Windows

วิธีแก้ไขข้อผิดพลาด 'Access Denied for User root@localhost' บน MySQL

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 ได้ ดังนั้นในขั้นตอนนี้ เราจะกำหนดค่าไฟล์ใหม่โดยการเพิ่มคำสั่งเพิ่มเติม ขั้นตอนดังนี้:

  1. เปิด XAMPP control panel และคลิกที่ปุ่ม Stop สำหรับ Apache และ MySQL ทั้งคู่
  2. ไปที่ ไดเรกทอรีการติดตั้งสำหรับ XAMPP และดับเบิลคลิกที่โฟลเดอร์ MySQL
  3. ดับเบิลคลิก ที่โฟลเดอร์ bin และคลิกขวาที่ไฟล์ my.ini
  4. คลิก ที่ตัวเลือก Edit
  5. ค้นหา คำว่า [mysqld] ในรายการ
  6. เพิ่ม คำสั่งต่อไปนี้ด้านล่างบรรทัด [mysqld] และด้านบนบรรทัด Port=...:
    skip-grant-tables
  7. คลิก File และเลือก Save
  8. ปิด เอกสารและเปิด XAMPP control panel
  9. คลิก ที่ปุ่ม Start สำหรับ Apache และ MySQL ทั้งคู่
  10. เปิด browser, ลอง login เข้า MySQL และ ตรวจสอบ ว่าปัญหายังคงอยู่หรือไม่