06-DCL

nobility 发布于 2020-06-01 1257 次阅读


DCL

用户创建

create user '用户名' identified by '密码';
-- 创建用户并赋予密码,此时用户无任何权限
show grants;
-- 查看当前用户权限

权限

  • 系统权限:维护数据库权限
    • create database
    • create table
    • create view
    • ...
  • 对象权限:对数据库对象(表,视图)处理权限
    • insert
    • update
    • delete
    • select
  • all privileges:全部权限

权限管理

授予权限

  • 授予系统权限

    grant 对象权限1,对象权限2,... on 数据库对象 to 用户1,用户2,...;
    -- 数据库对象是指:数据库名.表名形式,若数据库.*则为当前数据库下的所有表,*.*则是所有数据库下的所有表
    -- 表级权限
    grant 对象权限1(列名称1,列名称2,...),对象权限2(列名称1,列名称2,...),... on 表名 to 用户1,用户2,...;
    grant 对象权限1,对象权限2,... on 表名(列名称1,列名称2,...) to 用户1,用户2,...;
    -- 列级权限
    
  • 授予用户对象权限

    grant 系统权限1,系统权限2,... to 用户1,用户2,...;
    

回收权限

  • 回收系统权限

    revoke 对象权限1,对象权限2,... on 数据库对象 from 用户1,用户2,...;
    -- 表级权限
    revoke 对象权限1(列名称1,列名称2,...),对象权限2(列名称1,列名称2,...),... on 表名 from 用户1,用户2,...;
    -- 列级权限
    
  • 回收用户对象权限

    revoke 系统权限1,系统权限2,... from 用户1,用户2,...;
    

角色管理

create role '角色名1','角色名2',...;
-- 创建角色
grant 对象权限1,对象权限2,... on 数据库对象 to 角色1,角色2,...;
-- 赋予角色权限
grant 角色 to 用户1,用户2,...;
-- 赋予用户角色
revoke role from 用户;
-- 回收用户角色
revoke 对象权限1,对象权限2,... on 数据库对象 to 角色1,角色2,...;
-- 回收角色权限
drop role '角色名1','角色名2',...;
-- 删除角色
此作者没有提供个人介绍
最后更新于 2020-06-01