数据库原理与应用 第 8 章 · 第六节
课程第 8 章第六节 接下来角色是什么五步生命周期建角色给角色授权分配与激活查看与撤销 版式
第 8 章 数据库安全性管理 · 第六节

角色管理

角色的五步生命周期,以及那个「分配了却不生效」的坑。
本 节 知 识 点
  1. 41人一多,一句句授权就受不了了
  2. 42一串权限的集中管理
  3. 43建、授、配、活、撤
  4. 44CREATE ROLE 与用户长得一样
  5. 45语法和给用户授权一模一样
  6. 46两句缺一不可
  7. 47CURRENT_ROLE 和 REVOKE
41
第 8 章 · 第六节

人一多,一句句授权就受不了了

角色是把一串权限打成一个包再发出去。

第 41 页课件

重 点

MySQL 8 才有角色,8 以前只能一个个 GRANT。

打个比方

岗位定权限,人对岗位。换岗只换牌子,权限跟着牌子走。

42
第 8 章 · 第六节

一串权限的集中管理

角色装权限,用户领角色。

第 42 页课件

试一试一个角色顶多少句 GRANT

教研室新来
做法建号之后还要敲几句以后加一项权限

关键术语

角色Role
一组权限的名字

重 点

一个用户可以领好几个角色,一个角色也可以发给好多用户。

想一想

角色能不能再领角色?

43
第 8 章 · 第六节

建、授、配、活、撤

第四步最容易漏,漏了前面三步全白做。

第 43 页课件

试一试角色的五步与那个坑

按顺序点
    teacher2 登录后 SELECT * FROM sc
    一步都没走,先看清楚每一步之后 teacher2 到底能不能查。

    记牢它五步

    1. 建角色
    2. 给它授权
    3. 分配给人
    4. 激活

    重 点

    分配只是把线接上,激活才是把开关合上,两步缺一不可。

    44
    第 8 章 · 第六节

    CREATE ROLE 与用户长得一样

    角色就是一个建好就锁住的账号。

    第 44 页课件

    重 点

    account_locked 是 Y,所以角色登不了录,它不是给人登录用的。

    上机做

    上机四第 1 题 建三个角色

    想一想

    不写 @主机 的角色全名是什么?

    45
    第 8 章 · 第六节

    语法和给用户授权一模一样

    把权限先装进角色这个口袋。

    第 45 页课件

    重 点

    角色和用户在 MySQL 里本来就是同一张表里的行,所以语法通用。

    知道更多更正

    课件把 PRIVILEGES 拼成了 PREVILEGE,照抄会报语法错。

    上机做

    上机四第 3 题 给角色装权限

    想一想

    SHOW GRANTS 能查角色吗?

    46
    第 8 章 · 第六节

    两句缺一不可

    GRANT 把角色给人,SET DEFAULT ROLE 让它生效。

    第 46 页课件

    分清楚两句管多久

    写法管到什么时候
    SET ROLE这一个会话
    SET DEFAULT以后每次登录

    重 点

    只 GRANT 不激活,用户登进去 CURRENT_ROLE 是 NONE,照样什么都查不了。

    上机做

    上机四第 4 题 亲手踩一次这个坑

    47
    第 8 章 · 第六节

    CURRENT_ROLE 和 REVOKE

    查看用函数,撤销用 REVOKE,删掉用 DROP ROLE。

    第 47 页课件

    重 点

    REVOKE 收的是角色,写法是 REVOKE 角色 FROM 用户,别写反。

    知道更多更正

    课件那句写成了 REVOKE 'teacher2' FROM 'teacher',两边颠倒了。

    上机做

    上机四第 8 题 把写反的那句亲手撞一次

    想一想

    DROP ROLE 之后还用不用先 REVOKE?

    保山学院·人工智能教研室·曹鼎鼎