查看權限
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用戶的權限也會跟着被回收掉。