数据库用户创建、角色创建、用户和角色授予权限和权限收回

本文详细介绍了如何在数据库中创建用户和角色,以及如何使用GRANT和REVOKE语句进行权限的授予和回收。通过实例展示了用户授权、权限回收的具体操作,包括对数据库表的查询、更新、插入等权限的管理,并讨论了角色权限的授予、修改和收回。总结了数据库用户和角色管理的关键步骤。
摘要由CSDN通过智能技术生成

数据库用户创建、角色创建、用户和角色授予权限和权限收回


前言

记录一次学习数据库用户、角色创建和管理角色授权、用户授权以及权限回收。


授权与权限回收

SQL中使用GRANT和REVOKE语句来向用户授予或回收对数据的操作权限。GRANT语句向用户授予权限,REVOKE语句收回已经授予用户的权限`

GRANT语句的一般格式

GRANT <权限>[,<权限>]...
ON <对象类型><对象名>[,<对象类型><对象名>]...
TO <用户>[,<用户>]...
[WITH GRRANT OPTION]

如果指定了WITH GRRANT OPTION子句,则获得某种权限的用户还可以把这种权限再授予给其它用户。如果没有指定WITH GRRANT OPTION子句,则获得某种权限的用户只能使用该权限,不能传播该权限

REVOKE语句的一般格式

REVOKE  <权限>[,<权限>]...
ON <对象类型><对象名>[,<对象类型><对象名>]...
FROM <用户>[,<用户>]...
[CASCADE| RESTRICT]

1.用户创建和授权

语句:create user “用户名”@“类型” identified by ‘密码’;

create user '用户名'@'localhost | ip | %' identified by '密码';

类型分三种:localhost 、一个具体ip、%
创建一个用户“U1”,密码’123456’

create user 'U1'@'localhost' identified by '123456';
授权
#给U1用户授予sc数据库c表的查询权限
grant select
on table sc.c
to 'U1'@'localhost';


#给用户U2数据库sc里s表的所有权限
grant ALL PRIVILEGES
on table sc.s
to 'U1'@'localhost';
授权回收
#权限回收
#回收U1对sc数据库c表的查询权限
revoke select
on table sc.c
from 'U1'@'localhost'

#收回U2用户对sc库s表的所有权限
revoke ALL PRIVILEGES
on table sc.s
from 'U1'@'localhost'

角色权限的授予和收回

角色权限授予和修改

创建一个角色:r1

CREATE ROLE R1;

#使用GRANT语句,使角色RI拥有Suden表的SELECT. UPDATE. INSERT
GRANT SELECT,UPDATE,INSERT
ON TABLE Student
TO R1;



#角色的权限修改。
GRANT DELETE
ON TABLE Student
TO R1
#使角色R1在原来的基础上增加了Student 表的DELETE权限。


通过角色给用户授予权限和收回权限
#将这个角色授予U1、U2使他们具有角色RI所包含的全部权限。
GRANT R1
TO U1,U2;


#一次性地通过R1来收回U1的这三个权限。
REVOKE R1
FROM U1;

角色权限的收回
REVOKE SELECT

ON TABLE Student

FROM R1;

使R1减少了SELECT权限。

总结

以上大概写了一下数据库用户创建和角色创建的方法和权限的授予和回收,不同数据库或者同一数据库不同版本可能语法不同。

  • 15
    点赞
  • 113
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值