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

เพิกถอนสิทธิ์ MySQL User ด้วย REVOKE

คำสั่ง REVOKE

เพิกถอนสิทธิ์หนึ่งหรือหลายสิทธิ์จาก User

Syntax

REVOKE privilege_type [(column_list)] [, ...] 
ON [object_type] privilege_level 
FROM user [, user] ...;

ขั้นตอน

  1. ระบุสิทธิ์หลัง REVOKE (คั่นด้วย comma)
  2. ระบุระดับสิทธิ์ใน ON clause
  3. ระบุ User ใน FROM clause

ตัวอย่าง: เพิกถอนสิทธิ์ทั้งหมดจาก abcd@localhost

-- ดูสิทธิ์ปัจจุบัน
mysql> SHOW GRANTS FOR abcd@localhost;
+---------------------------------------------------------------------+
| Grants for abcd@localhost                                           |
+---------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'abcd'@'localhost' WITH GRANT OPTION |
+---------------------------------------------------------------------+

-- เพิกถอน
mysql> REVOKE ALL PRIVILEGES, GRANT OPTION FROM abcd@localhost;
Query OK, 0 rows affected

-- ตรวจสอบอีกครั้ง
mysql> SHOW GRANTS FOR abcd@localhost;
+------------------------------------------+
| Grants for abcd@localhost                |
+------------------------------------------+
| GRANT USAGE ON *.* TO 'abcd'@'localhost' |
+------------------------------------------+

สิทธิ์ที่พบบ่อย

  • ALL PRIVILEGES - ทุกสิทธิ์
  • SELECT, INSERT, UPDATE, DELETE - DML
  • CREATE, DROP, ALTER - DDL
  • GRANT OPTION - สิทธิ์ให้สิทธิ์ผู้อื่น

ระดับสิทธิ์ (Privilege Level)

  • *.* - Global (ทุก DB, ทุกตาราง)
  • db.* - Database level
  • db.table - Table level
  • db.table.col - Column level