Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

เปลี่ยนรหัสผ่าน MySQL User ด้วย UPDATE Statement

อัปเดตตาราง mysql.user

เปลี่ยนรหัสผ่านโดยตรงในตารางสิทธิ์ ต้องตามด้วย FLUSH PRIVILEGES

Syntax

USE mysql;
UPDATE user SET authentication_string = PASSWORD('new_password') 
WHERE user = 'user_name' AND host = 'host_name';
FLUSH PRIVILEGES;

คำอธิบาย

  • new_password: รหัสผ่านใหม่
  • user_name: ชื่อผู้ใช้
  • host_name: โฮสต์ (localhost, %, IP, etc.)
  • PASSWORD(): ฟังก์ชันแฮชรหัสผ่าน (MySQL 5.7+ ใช้ authentication_string)

ตัวอย่าง

USE mysql;
UPDATE user SET authentication_string = PASSWORD('tutorials') 
WHERE user = 'user' AND host = 'localhost';
FLUSH PRIVILEGES;

ข้อควรระวัง

  • MySQL 8.0+ ใช้ caching_sha2_password โดยค่าเริ่มต้น อาจต้องระบุ plugin
  • วิธีนี้เป็นวิธีเก่า แนะนำใช้ ALTER USER หรือ SET PASSWORD แทน
  • ต้องมีสิทธิ์ UPDATE บนตาราง mysql.user