Client does not support authentication protocol MySQL
Client does not support authentication protocol requested by server; consider upgrading MySQL client.
ปัญหานี้เกิดจากการ upgrade MySQL version ไปยัง version 4.1+ เนื่องจากใช้วิธีในการเข้ารหัส user ต่างกัน ใน version ก่อนหน้า 4.1 ใช้การเข้ารหัสด้วยความยาว 16 bytes แต่ใน version หลังจาก 4.1 ใช้ความยาวถึง 4.1 bytes ทำให้การ upgrade version มีปัญหา
การแก้ปัญหาคือต้องไปเปลี่ยนการเข้ารหัสแบบใหม่นั้น ให้กลายเป็นแบบเก่า เพราะว่าเรายังคงใช้เทคโนโลยีอื่นๆในแบบเก่าอยู่ จึงต้องปรับให้ support กัน
วิธีการแก้ปัญหาตามนี้
1. เข้าไปยัง root database ของ MySQL
– ไปที่ command prompt แล้วไปยัง MySQL Directory\bin จากนั้นพิมพ์
1 | mysql -u root -p |
ระบบจะร้องขอ password ให้ใส่ลงไปแล้ว enter
– หรือไปที่ start->All Programs->MySQL->MySQL Server 4.1->MySQL Command Link Client
จากนั้นก็ใส่ password

2. ใส่คำสั่งนี้ไปเพื่อ update password ให้เป็นแบบ old password
1 2 3 4 | UPDATE mysql.USER SET password=OLD_PASSWORD('somepassword') WHERE USER='someuser' AND host='somehost'; |
ควรจะทำกับทุก user ที่มี เพราะถ้าไม่ทำ ก็ใช้งานไม่ได้ ลอง select มาดูก่อนก็ได้ ว่า user มีใครบ้าง
1 | SELECT USER FROM mysql.USER |
3. หลังจากนั้นให้ flush table เพื่อ update ข้อมูลที่เพิ่งแก้ไขไป
1 | FLUSH privileges; |
4. ทดสอบเข้า phpmyadmin เพื่อดูว่าใช้งานได้รึไม่ น่าจะได้นะครับ (ถ้าไม่ได้ก็… ไม่รู้ทำยังไงเหมือนกัน ^ ^)
ขอบคุณ
thaicyberpoint
digitalpeer
หวังว่าข้อมูลนี้จะมีประโยชน์ไม่มากก็น้อยนะครับ
No related posts.
Related posts brought to you by Yet Another Related Posts Plugin.