คำสั่ง REVOKE
เพิกถอนสิทธิ์หนึ่งหรือหลายสิทธิ์จาก User
Syntax
REVOKE privilege_type [(column_list)] [, ...]
ON [object_type] privilege_level
FROM user [, user] ...;
ขั้นตอน
- ระบุสิทธิ์หลัง REVOKE (คั่นด้วย comma)
- ระบุระดับสิทธิ์ใน ON clause
- ระบุ 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- DMLCREATE, DROP, ALTER- DDLGRANT OPTION- สิทธิ์ให้สิทธิ์ผู้อื่น
ระดับสิทธิ์ (Privilege Level)
*.*- Global (ทุก DB, ทุกตาราง)db.*- Database leveldb.table- Table leveldb.table.col- Column level