ฉันได้ทำตามบทช่วยสอนนี้เพื่อติดตั้ง MySQL แต่หลังจากติดตั้ง MySQL สำเร็จฉันไม่สามารถเข้าถึงฐานข้อมูลได้
ข้อผิดพลาด 1698 (28000): การเข้าถึงถูกปฏิเสธสำหรับผู้ใช้ 'root' @ 'localhost'
ฉันได้ทำตามบทช่วยสอนนี้เพื่อติดตั้ง MySQL แต่หลังจากติดตั้ง MySQL สำเร็จฉันไม่สามารถเข้าถึงฐานข้อมูลได้
ข้อผิดพลาด 1698 (28000): การเข้าถึงถูกปฏิเสธสำหรับผู้ใช้ 'root' @ 'localhost'
คำตอบ:
ฉันพบวิธีแก้ปัญหาที่นี่ลิงค์โดยทำตามวิธีนี้ฉันได้แก้ไขปัญหาของฉัน
ขั้นตอนสั้น ๆ คือ:
sudo mysql -u root
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'test';
หมายเหตุ: นี่test
คือรหัสผ่านใหม่สำหรับผู้ใช้รูท นอกจากนี้อย่าลืมเรียกใช้คำสั่งsudo service mysql restart
หลังจากแก้ไขผู้ใช้
ฉันพบวิธีอื่นที่ดีกว่ามากเนื่องจากเราไม่ต้องการให้รหัสผ่านใด ๆ สำหรับระบบภายใน
มันเป็นดังนี้
เปิดเทอร์มินัลและประเภท
sudo mysql -u root -p
มันจะให้คุณใน mysql ที่นี่คุณสามารถยิงคำสั่ง mysql ใด ๆ
ใช้ตาราง mysql เพื่อเปลี่ยนประเภทตารางเพื่อให้เราสามารถใช้รหัสผ่านที่ว่างเปล่า ร้องเป็นคำสั่งสำหรับมัน
USE mysql;
ตอนนี้เราเปลี่ยนประเภทของตารางโดยทำตามคำสั่ง
UPDATE user SET plugin='mysql_native_password' WHERE User='root';
ตอนนี้เราต้องล้างสิทธิ์เนื่องจากเราใช้ UPDATE หากคุณใช้ INSERT, UPDATE หรือ DELETE บนตารางการให้สิทธิ์โดยตรงคุณต้องใช้สิทธิ์การล้างข้อมูลเพื่อโหลดตารางการให้สิทธิ์ซ้ำอีกครั้ง
FLUSH PRIVILEGES;
ตอนนี้ออกจาก mysql โดยคำสั่งดังต่อไปนี้
exit;
ตอนนี้รีสตาร์ทเซิร์ฟเวอร์ mysql โดยทำตามคำสั่ง
service mysql restart
หวังว่ามันจะช่วยได้
ขอขอบคุณ.