news 2026/6/24 1:30:29

GRANT SELECT, DELETE ON 职工 TO USER1 WITH GRANT OPTION权限授予命令详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GRANT SELECT, DELETE ON 职工 TO USER1 WITH GRANT OPTION权限授予命令详解

一、语句结构分解

GRANT SELECT, DELETE ON 职工 TO USER1 WITH GRANT OPTION;

各部分含义:

部分含义
GRANT授权命令关键字
SELECT, DELETE授予的权限类型
ON 职工权限作用的对象(职工表)
TO USER1权限授予的用户
WITH GRANT OPTION特殊权限选项

二、授予的具体权限

1.SELECT 权限

USER1 可以:

-- 可以执行所有查询操作SELECT*FROM职工;SELECT姓名,年龄FROM职工WHERE性别='男';SELECTCOUNT(*)FROM职工;

2.DELETE 权限

USER1 可以:

-- 可以删除记录DELETEFROM职工WHERE职工号='001';DELETEFROM职工WHERE年龄>60;

3.WITH GRANT OPTION 权限(最关键!)

USER1 可以:

-- 把自己获得的权限再授予别人GRANTSELECTON职工TOUSER2;GRANTDELETEON职工TOUSER3;GRANTSELECT,DELETEON职工TOUSER4WITHGRANTOPTION;-- 甚至可以传递授权权

三、权限层次关系图

管理员(执行原始语句) ↓ USER1(获得:SELECT, DELETE + 授权权) ↓ ↓ ↓ USER2 USER3 USER4 (SELECT)(DELETE)(SELECT+DELETE+授权权)

注意:USER4 因为有WITH GRANT OPTION,可以继续授权给 USER5、USER6…


四、实际应用场景

场景1:部门主管管理权限

-- 管理员授予销售主管权限GRANTSELECT,INSERT,UPDATE,DELETEON销售订单TO销售主管WITHGRANTOPTION;-- 销售主管可以给下属授权GRANTSELECTON销售订单TO销售员1;GRANTSELECT,INSERTON销售订单TO销售员2;

场景2:项目协作

-- 项目经理需要管理项目表GRANTALLON项目表TO项目经理WITHGRANTOPTION;-- 项目经理给团队成员授权GRANTSELECTON项目表TO开发人员;GRANTSELECT,UPDATEON项目表TO测试人员;

五、重要注意事项

1.权限范围限制

USER1 只能:

  • 授予自己已经拥有的权限
  • 授予的权限不能超过自己的权限范围
-- 假设USER1只有SELECT和DELETE权限GRANTINSERTON职工TOUSER2;-- ❌ 失败!USER1没有INSERT权限

2.权限回收问题

-- 如果管理员回收USER1的权限REVOKESELECT,DELETEON职工FROMUSER1CASCADE;-- CASCADE选项会级联回收所有USER1授予的权限-- USER2、USER3等从USER1获得的权限也会被自动回收

3.安全风险

WITH GRANT OPTION可能导致:

  • 权限泛滥:权限被无限传递
  • 管理混乱:难以追踪权限流向
  • 回收困难:需要级联回收

六、不同权限组合示例

只读权限(无授权权):

GRANTSELECTON职工TOUSER1;-- 只能查询,不能授权给他人

读写权限(无授权权):

GRANTSELECT,INSERT,UPDATE,DELETEON职工TOUSER1;

完全控制(有授权权):

GRANTALLPRIVILEGESON职工TOUSER1WITHGRANTOPTION;

七、查看权限信息

1.查看自己的权限:

-- MySQLSHOWGRANTS;SHOWGRANTSFORUSER1;-- SQL ServerSELECT*FROMsys.fn_my_permissions('职工','OBJECT');-- OracleSELECT*FROMUSER_TAB_PRIVS;

2.查看所有用户权限:

-- MySQLSELECT*FROMmysql.tables_privWHERETable_name='职工';-- SQL ServerSELECT*FROMsys.database_permissions;

八、最佳实践建议

  1. 最小权限原则:只授予必要的最小权限
  2. 谨慎使用 WITH GRANT OPTION:只在确实需要权限委派时使用
  3. 定期审计权限
    -- 定期检查谁有授权权SELECTgrantee,privilege_type,is_grantableFROMinformation_schema.table_privilegesWHEREtable_name='职工'ANDis_grantable='YES';
  4. 使用角色管理权限(更安全的方式):
    -- 创建角色CREATEROLE 职工管理员;-- 给角色授权GRANTSELECT,DELETEON职工TO职工管理员WITHGRANTOPTION;-- 将角色赋予用户GRANT职工管理员TOUSER1;

九、常见问题

Q: USER1 可以修改表结构吗?
A: 不可以。只有ALTER权限才能修改表结构,这里只授予了 SELECT 和 DELETE。

Q: USER1 可以删除整个表吗?
A: 不可以。DELETE只能删除记录,DROP TABLE需要DROP权限。

Q: 如果 USER1 离职了怎么办?
A: 管理员应该立即执行:

REVOKEALLPRIVILEGESON职工FROMUSER1CASCADE;

Q: WITH GRANT OPTION 可以只针对部分权限吗?
A: 不可以。WITH GRANT OPTION应用于整个 GRANT 语句授予的所有权限。

这个授权语句在数据库安全管理中非常重要,合理使用可以实现灵活的权限管理,但也需要注意安全风险。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/13 9:19:32

论文初稿难产?10款AI工具助你高效降重与生成,大幅提升写作效率

�� AI工具性能速览表 工具名称 核心功能 处理时间 AI生成率控制 适配检测平台 askpaper 降AIGC率降重同步 20分钟 个位数 知网/格子达/维普 秒篇 AI痕迹深度弱化 20分钟 个位数 知网/格子达/维普 aicheck 全学科初稿生成 20-30分钟 低…

作者头像 李华
网站建设 2026/6/23 3:30:53

【开题答辩全过程】以 基于springbootvue图书馆选座系统设计与实现为例,包含答辩的问题和答案

个人简介 一名14年经验的资深毕设内行人,语言擅长Java、php、微信小程序、Python、Golang、安卓Android等 开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。 感谢大家…

作者头像 李华
网站建设 2026/6/23 3:30:51

子数列求积【牛客tracker 每日一题】

子数列求积 时间限制:1秒 空间限制:256M 网页链接 牛客tracker 牛客tracker & 每日一题,完成每日打卡,即可获得牛币。获得相应数量的牛币,能在【牛币兑换中心】,换取相应奖品!助力每日有…

作者头像 李华
网站建设 2026/6/23 3:30:50

Java性能优化实战技术文章大纲性能优化的基本原则

Java性能优化实战技术文章大纲性能优化的基本原则理解性能优化的核心目标:减少资源消耗、提高响应速度、增强系统稳定性 避免过度优化,基于实际业务场景和数据驱动决策 采用可量化的指标评估优化效果(如TPS、RT、GC频率等)JVM层优…

作者头像 李华
网站建设 2026/6/12 23:23:25

预装智能办公软件,打造企业专属数字工作台

数据成为新生产要素,算法成为新生产力,这场由技术驱动的深层经济逻辑变革,影响着这个时代的每一个人,迫使每一个组织重新审视自己的价值链条与核心竞争力。每个企业需要深化技术与业务流程的结合应用,如何在保障数据主…

作者头像 李华
网站建设 2026/6/22 20:46:12

基于微信小程序的方言粤语文化传播平台的设计与开发PHP_nodejs_vue+uniapp

文章目录方言粤语文化传播平台的设计与开发摘要系统设计与实现的思路主要技术与实现手段源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!方言粤语文化传播平台的设计与开发摘要 该平台基于微信小程序生态,结合PHP、Node.js、V…

作者头像 李华