mysql的权限级别

MySQL 中的权限分为五个级别,

1 、 Global Level :

Global Level 的权限控制又称为全局权限控制,所有权限信息都保存在 mysql.user 表中。 Global Level 的所有权限都是针对整个 mysqld 的,对所有的数据库下的所有表及所 有字段都有效。如果一个权限是以 Global Level 来授予的,则会覆盖其他所有级别的相同权限设置。

2 、 Database Level

与 Global Level 的权限相比, Database Level 主 要少了以下几个权限: CREATE USER , FILE , PROCESS , RELOAD , REPLICATION CLIENT , REPLI CATIONSLAVE , SHOW DATABASES , SHUTDOWN , SUPER 和 USAGE 这几个权限,没有增加任何权限。

3 、 Table Level

Table Level 的权限作用范围是授权语句中所指定数据库的指定表。

Table Level 的权限由于其作用域仅限于某个特定的表,所以权限种类也比较少,仅 有ALTER , CREATE , DELETE , DROP , INDEX , INSERT , SELECT UPDATE 这八种权限。

4 、 Column Level

Column Level 级别的权限仅有 INSERT , SELECT 和 UPDATE 这三种。 Column Level 的权限授权语句语法基本和 TableLeve l 差不多,只是需要在权限名称后面将需要授权的列名列表通过括号括起来.

注意:当某个用户在向某个表插入( INSERT )数据的时候,如果该用户在该表中某列 上面没有 INSERT 权限,则该列的数据将以默认值填充。这一点和很多其他的数据库都有一些区别,是 MySQL 自己在 SQL 上面所做的扩展。

5 、 Routine Level

Routine Level 的权限主要只有 EXECUTE 和 ALTER ROUTINE 两种,主要针对的对象是procedure 和 function 这两种对象,在授予 Routine Level 权限的时候,需要指定数据库和相关对象


除了上面几类权限之外,还有一个非常特殊的权限 GRANT ,拥有 GRANT 权限的用户可 以将自身所拥有的任何权限全部授予其他任何用户,所以 GRANT 权限是一个非常特殊也非常 重要的权限。 GRANT 权限的授予方式也和其他任何权限都不太一样,通常都是通过在执行 GRA NT授权语句的时候在最后添加 WITH GRANT OPTION 子句达到授予 GRANT 权限的目的。

在以上五个 Level 的权限中, Table 、 Column 和 Routine 三者在授权中所依赖(或者 引用)的对象必须是已经存在的,而不像 Database Level 的权限授予,可以在当前不存在该数据库的时候就完成授权。


    

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值