โหลดตารางสิทธิ์ใหม่ (Reload Grant Tables)
เมื่อแก้ไขตารางสิทธิ์โดยตรงด้วย INSERT, UPDATE, DELETE การเปลี่ยนแปลงจะไม่มีผลทันที ต้องใช้ FLUSH PRIVILEGES เพื่อบอกเซิร์ฟเวอร์โหลดใหม่
คำสั่ง
FLUSH PRIVILEGES;
หรือใช้ mysqladmin
mysqladmin flush-privileges
mysqladmin reload
ข้อยกเว้น: GRANT Statement
ถ้าใช้คำสั่ง GRANT ไม่ต้อง FLUSH PRIVILEGES เพราะ MySQL โหลดใหม่อัตโนมัติ
เมื่อควรใช้
- หลังแก้ไขตาราง
mysql.user,mysql.db,mysql.tables_privด้วยคำสั่ง DML โดยตรง - หลังนำเข้าไฟล์ dump ที่มีข้อมูลสิทธิ์
- เมื่อสร้าง/ลบ user ด้วยคำสั่ง INSERT/DELETE โดยตรง
ตัวอย่าง
USE mysql;
UPDATE user SET authentication_string = PASSWORD('newpass') WHERE user = 'user';
FLUSH PRIVILEGES; -- จำเป็นต้องมี