MySQL之DCL

数据库在使用过程中很多时候并不是单用户模式,会在具体的应用过程中划分不同的用户类型,为了让用户有更好的体验、同时保证数据库的安全。此时便会根据不同的使用需求或场景为之分配相应的权限,这就是DCL语言的主要作用和意义,
DCL: 数据库控制语言。主要是grant,deny,revoke等相关语句
默认状态下只有sysadmin,dbcreator,db_owner或db_securityadmin等人员才有权力执行DCL;

DCL能够控制的权限主要有:CONNECT、UPDATE、INSERT、DELETE、USAGE等;(最主要的是控制用户的访问权限)

以下是具体使用举例:(有时要注意使用身份的问题,如oracle数据库可以使用connect system/身份名 进行切换身份获取使用权限)
GRANT 授权命令/语句
用户权限: GRANT CREATE TABLE , CREATE VIEW TO USR_NAME;为用户USR_NAME授予创建表、视图权限;
GRANT CREATE TABLE , CREATE VIEW TO USR_NAME WITH ADMIN OPTION;此句话不仅让USR_NAME拥有了创建表、视图权限,也让其能对自己所有的权限进行再授权其他用户(权限的可传递性);
以上两条命令都让该用户拥有了创建表和视图的功能,但是再后续进行回收权限时便会产生较的不同。
数据表相关权限: GRANT SELECT,UPDATE ON TAB_NAME TO USR_NAME为用户分配对具体数据表的权限;

REVOKE 回收语句
–用户权限: 先说明几个问题,多个用户授予一个用户A同一权限后,使用revoke回收后,用户A不再拥有被回收的权限;若是想要回收传递性,而不回收权限时,必须先回收所授予的权限后在进行权限的授予;在第二点中,若是仅回收了用户A的权限,但并不会影响到其他用户如用户D从A手中所得到的权限使用。
REVOKE CREATE TABLE FROM USR_NAEM;从USR_NAME用户处回收创建表的权限;如果仅是为了回收传递权限也要先回收所授予的权限,再进行不带传递选项的授权语句。

– 数据表相关权限: REVOKE SELECT,UPDATE ON TAB_NAEM FROM USR_NAME; 回收用户对该表的查询、更新权限;暂且记录到这里后续再更新

加油呀

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值