本文作者:kris

MySQL授权命令grant的使用方法小结-

kris 2025-01-17 12:18:05 2
MySQL授权命令grant的使用方法小结-摘要: grant循环授权会怎么样?grant循环授权很有可能会造成链接死链。grant语句:向用户授予权限,grant一般格式:grant <权限> [,&a...

grant循环授权会怎么样?

grant循环授权很有可能会造成链接死链。

grant语句:向用户授予权限,

grant一般格式:
grant <权限> [,<权限>]…
on <对象类型 > <对象名> [,<对象类型 > <对象名>]..
to <用户> [,<用户>]…
[with grant option];

语意:将指定操作对象的指定操作权限授予给指定用户。发出该grant语句的是DBA,也可以是该数据库创建者,也可以是已经拥有该权限的用户。如果指定了with grant option子句,则获得某种权限的用户还可以把这种权限再授予给其他用户。反之,不可以。注意:不允许循环授权。

例子:把查询Student表和修改学生学号的权限授权给用户U1.
grant select,update(Sno)
on table Student
to U1;

把表SC的insert权限授予用户U2,并允许将此权限在授予其他用户
grant insert
on table SC
to U2
with grant option;

回收revoke

revoke语句:收回授予的权限

revoke一般格式:
revoke <权限> [,<权限>]…
on <对象类型 > <对象名> [,<对象类型 > <对象名>]..
from <用户> [,<用户>]…
[cascade | restrict];

MySQL授权命令grant的使用方法小结-

图片来源:网络

例子:收回所有用户对表SC的查询权限
revoke select
on table sc
from public;

sql系统权限是什么?

答:在SQL Server数据库管理系统中,权限是指用户对数据库或数据表执行的操作。

分类:按对权限设置方法的不同,可以将权限分为隐含权限、对象权限和语句权限三种类型。

  1)隐含权限

注:指由系统定义,不需要授权就拥有的权限。不需要被明确的授予,是特定服务器对象和数据库对象的内置权限。数据库的服务器、数据库的所有者和数据库对象的所有者都拥有隐含权限。

  2)对象权限

注:指数据库的所有者对数据库对象所授予的“授予”、“禁止”或“撤销”权限。包括是否允许用户读数据表或试图执行select、update、delete或insert操作;是否允许用户创建数据库、创建表、执行存储过程、备份数据库等操作。

  3)语句权限

注:指使用T-SQl语言中的数据库定义语言对数据库对象授予、禁止或撤销权限。一般只能由数据库所有者(dbo)和sa用户使用语句权限。grant、deny和revoke命令分别表示授予、禁止和撤销权限

  ♦授予权限:grant 操作命令 [on] 对象名 to 用户名

例1:(将向“商品信息表”中添加数据的权限授予数据库登录用户“db_user01”)

  grant insert on 商品信息表 to db_user01

例2:(将修改“客户信息表”的“联系电话”字段和“邮箱”字段的权限授予用户“db_user01”)

  grant update (联系电话,邮箱) on 客户信息表 to db_user01

♦禁用权限:deny 操作命令 [on] 对象名 to 用户名

  注:禁用权限不仅禁止用户或角色的某些权限,还禁止这些用户或角色从其他角色继承被禁止的权限。

例:(禁止用户“db_user01”对“客户信息表”执行删除操作)

  deny delete table on 客户信息表 to db_user01

♦撤销权限:revoke 操作命令 [on] 对象名 from 用户名

文章版权及转载声明

作者:kris本文地址:https://www.damoyx.com/p/24364.html发布于 2025-01-17 12:18:05
文章转载或复制请以超链接形式并注明出处大漠游侠网

阅读
分享