REVOKE
REVOKE 是 GRANT 的反操作——把之前授予的权限收回来。员工离职、账号降权、权限给多了要收缩,都靠它。
REVOKE 的语法和 GRANT 几乎对称:同样的权限列表、同样的 ON 数据库.表、同样的 FROM '用户'@'主机'。撤销后用户立即失去相应权限,已有的连接可能不会断开(取决于 MySQL 版本),但新操作会被拒绝。
常见情况:回收所有权限(REVOKE ALL)、回收特定权限、按账号清理。权限回收后记得 FLUSH PRIVILEGES。
标准写法:
REVOKE 权限列表 ON 数据库.表 FROM '用户名'@'主机';
以飞翔科技为例:
-- 回收开发者翱翔的删除权限(只保留增改查)
REVOKE DELETE
ON feixiang_db.*
FROM 'aoxiang'@'localhost';
-- 离职员工账号回收全部权限
REVOKE ALL PRIVILEGES
ON feixiang_db.*
FROM 'ex_employee'@'%';
-- 收回 HR 对员工工资字段的查询权限
REVOKE SELECT
ON feixiang_db.employees
FROM 'hr_readonly'@'%';
权限管理是门持续功课——不是设一次就完事。员工调动、项目交接、系统下线,都要及时更新权限,避免长期堆积的权限遗留变成安全漏洞。