mysql取消用戶權限的方法:1、利用“REVOKE ALL ON *.*”取消全局權限;2、利用“REVOKE ALL ON 數據庫名.*”取消數據庫級別的權限;3、利用“REVOKE ALL ON 數據庫名.表名”取消表級別的權限。
本教程操作環境:windows10系統、mysql8.0.22版本、Dell G3電腦。
mysql怎么取消用戶權限
在 MySQL 中,可以使用 REVOKE 語句刪除某個用戶的某些權限
全局級,授予及撤銷全局權限
-
授權:GRANT ALL ON *.*
-
撤銷授權:REVOKE ALL ON *.*
數據庫級,授予及撤銷某個數據庫的權限
-
授權:GRANT ALL ON 數據庫名.*
-
撤銷授權:REVOKE ALL ON 數據庫名.*
表級,授予及撤銷某個數據庫中某張表的權限
-
授權:GRANT ALL ON 數據庫名.表名
-
撤銷授權:REVOKE ALL ON 數據庫名.表名
擴展知識:
在 MySQL 中,可以使用 REVOKE 語句刪除某個用戶的某些權限(此用戶不會被刪除),在一定程度上可以保證系統的安全性。例如,如果數據庫管理員覺得某個用戶不應該擁有 delete 權限,那么就可以刪除 DELETE 權限。
使用 REVOKE 語句刪除權限的語法格式有兩種形式,如下所示:
1)第一種
刪除用戶某些特定的權限,語法格式如下:
REVOKE?priv_type?[(column_list)]... ON?database.table FROM?user?[,?user]...
REVOKE 語句中的參數與 GRANT 語句的參數意思相同。其中:
priv_type 參數表示權限的類型;
column_list 參數表示權限作用于哪些列上,沒有該參數時作用于整個表上;
user 參數由用戶名和主機名構成,格式為“username’@’hostname’”。
2)第二種
刪除特定用戶的所有權限,語法格式如下:
REVOKE?ALL?PRIVILEGES,?GRANT?OPTION?FROM?user?[,?user]?...
刪除用戶權限需要注意以下幾點:
REVOKE 語法和 GRANT 語句的語法格式相似,但具有相反的效果。
要使用 REVOKE 語句,必須擁有 MySQL 數據庫的全局 CREATE USER 權限或 UPDATE 權限。
示例如下
使用 REVOKE 語句取消用戶 testUser 的插入權限,SQL 語句和執行過程如下。
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)
結果顯示,刪除 testUser 用戶的 INSERT 權限成功。
推薦學習:mysql視頻教程