linux下mysql中可以使用REVOKE語(yǔ)句來(lái)刪除某個(gè)用戶的權(quán)限(此用戶不會(huì)被刪除),語(yǔ)法格式“REVOKE ALL PRIVILEGES, GRANT OPTION FROM user”,可以刪除用戶的所有權(quán)限。
(推薦教程:mysql視頻教程)
在 MySQL 中,可以使用 REVOKE 語(yǔ)句刪除某個(gè)用戶的某些權(quán)限(此用戶不會(huì)被刪除),在一定程度上可以保證系統(tǒng)的安全性。例如,如果數(shù)據(jù)庫(kù)管理員覺(jué)得某個(gè)用戶不應(yīng)該擁有 DELETE 權(quán)限,那么就可以刪除 DELETE 權(quán)限。
使用 REVOKE 語(yǔ)句刪除權(quán)限的語(yǔ)法格式有兩種形式,如下所示:
1)第一種
刪除用戶某些特定的權(quán)限,語(yǔ)法格式如下:
REVOKE priv_type [(column_list)]... ON database.table FROM user [, user]...
REVOKE 語(yǔ)句中的參數(shù)與 GRANT 語(yǔ)句的參數(shù)意思相同。其中:
priv_type 參數(shù)表示權(quán)限的類型;
-
column_list 參數(shù)表示權(quán)限作用于哪些列上,沒(méi)有該參數(shù)時(shí)作用于整個(gè)表上;
-
user 參數(shù)由用戶名和主機(jī)名構(gòu)成,格式為“username'@'hostname'”。
2)第二種
刪除特定用戶的所有權(quán)限,語(yǔ)法格式如下:
REVOKE ALL PRIVILEGES, GRANT OPTION FROM user [, user] ...
刪除用戶權(quán)限需要注意以下幾點(diǎn):
-
REVOKE 語(yǔ)法和 GRANT 語(yǔ)句的語(yǔ)法格式相似,但具有相反的效果。
-
要使用 REVOKE 語(yǔ)句,必須擁有 MySQL 數(shù)據(jù)庫(kù)的全局 CREATE USER 權(quán)限或 UPDATE 權(quán)限。
示例
使用 REVOKE 語(yǔ)句取消用戶 testUser 的插入權(quán)限,SQL 語(yǔ)句和執(zhí)行過(guò)程如下。
mysql> REVOKE INSERT ON *.* -> FROM 'testUser'@'localhost'; Query OK, 0 rows affected (0.01 sec) mysql> SHOW GRANTS FOR 'testUser'@'localhost'; +-----------------------------------------------------------------+ | Grants for testUser@localhost | +-----------------------------------------------------------------+ | GRANT SELECT ON *.* TO 'testUser'@'localhost' WITH GRANT OPTION | +-----------------------------------------------------------------+ 1 row in set (0.00 sec)
結(jié)果顯示,刪除 testUser 用戶的 INSERT 權(quán)限成功。