MySQL—赋权(grant)和回收权限(revoke)

Posted Andya

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL—赋权(grant)和回收权限(revoke)相关的知识,希望对你有一定的参考价值。

查看权限

mysql> SHOW GRANGTS FOR userA;

赋权 grant

mysql> GRANT ALL PRIVILEGES ON `db1`.* TO 'userA'@'localhost' IDENTIFIED BY '123456' WITH GRANT OPTION;

值得说明的有两点:

  1. with grant option的作用是使得该用户可以拥有权限和回收权限给其他用户。
  2. 上述例子是对localhost进行赋权,我们也可以对ip段进行授权,如 ‘userA‘@‘%‘是对全网段,‘userA‘@‘10.%.%.%‘是对部分网段进行授权。

回收/删除权限 revoke

mysql> REVOKE ALL PRIVILEGES ON `db1`.* FROM 'userA'@'localhost'

附:with admin option和with grant option的区别

  1. with admin option: 是级联授权不级联回收/删除权限;是属于系统授权;授权该权限的用户有权将某个权限授给其他用户或角色,当回收/删除权限时,已授权给其他用户的照样有权限,即不影响级联的授权,如userA用户赋权给userB用户,回收userA用户的权限时,userB用户的权限保持,不会失效。
  2. with grant option:是级联型的授权和回收/删除权限;属于对象授权;与with admin option的区别是,当回收权限时,权限不级联回收,即userA用户赋权给userB用户,回收userA用户的权限时,userB用户的权限也会跟着被回收掉。

以上是关于MySQL—赋权(grant)和回收权限(revoke)的主要内容,如果未能解决你的问题,请参考以下文章

mysql里面用户赋权,grant授权和user表修改,哪个优先级高?

(转)MySql数据库4命令行赋权操作

oracle的grant语句,一次只能授权一张表的访问权限吗?

oracle权限的分配与回收

oracle的grant语句,一次只能授权一张表的访问权限吗?

解决mysql的赋权操作之GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘123456‘ WITH GRANT OPTION问题