查看权限
mysql> SHOW GRANGTS FOR userA;
赋权 grant
mysql> GRANT ALL PRIVILEGES ON `db1`.* TO 'userA'@'localhost' IDENTIFIED BY '123456' WITH GRANT OPTION;
值得说明的有两点:
-
with grant option
的作用是使得该用户可以拥有权限和回收权限给其他用户。 - 上述例子是对
localhost
进行赋权,我们也可以对ip段进行授权,如'userA'@'%'
是对全网段,'userA'@'10.%.%.%'
是对部分网段进行授权。
回收/删除权限 revoke
mysql> REVOKE ALL PRIVILEGES ON `db1`.* FROM 'userA'@'localhost'
附:with admin option和with grant option的区别
-
with admin option
: 是级联授权,不级联回收/删除权限;是属于系统授权;授权该权限的用户有权将某个权限授给其他用户或角色,当回收/删除权限时,已授权给其他用户的照样有权限,即不影响级联的授权,如userA用户赋权给userB用户,回收userA用户的权限时,userB用户的权限保持,不会失效。 -
with grant option
:是级联型的授权和回收/删除权限;属于对象授权;与with admin option
的区别是,当回收权限时,权限不级联回收,即userA用户赋权给userB用户,回收userA用户的权限时,userB用户的权限也会跟着被回收掉。