查看权限
mysql> SHOW GRANGTS FOR userA;

查看具体的用户权限

mysql> SHOW GRANGTS FOR userA@10.1.1.2;
赋权 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用户的权限也会跟着被回收掉。