mysql回收所有权限 |
您所在的位置:网站首页 › mysql收回权限命令 › mysql回收所有权限 |
收回用户的权限就是取消已经赋于用户的某些权限。例如,如果数据库管理员觉得某个用户不应该拥有DELETE权限,那么就可以将DELETE权限收回。收回用户不必要的权限可以在一定程度上保证系统的安全性。MySQL中使用REVOKE语句取消用户的某些权限。使用REVOKE收回权限以后,用户账户的记录将从db、host、tables_priv和columns_priv表中删除,但是用户账号记录仍然在user表中保存。 可以使用DROP USER语句删除user表中的账户记录。 在将用户账户从user表删除之前,应该收回相应用户的所有权限。 REVOKE语句有两种语法格式。第一种语法是收回所有用户的所有权限,此语法用于取消对于已命名的用户的所有全局层级、数据库层级、表层级和列层级的权限。基本的语法格式如下: REVOKE ALL PRIVILEGES,GRANT OPTION FROM 'user'@'host' [,'user'@'host',...] REVOKE语句必须和FROM语句一起使用,FROM语句指明需要收回权限的账户。 第二种语法是收回指定的权限。基本的语法格式如下: REVOKE priv_type [(columns)][,priv_type[(columns)]],... ON table1,table2,...,tablen FROM 'user'@'host'[,'user'@'host'...] 其中: priv_type参数表示权限的类型。 columns参数表示权限作用于哪些列上。如果不指定该参数,表示作用于整个表。 table1,table2,...,tablen表示从哪个表中收回权限。 'user'@'host'参数表示用户账户,由用户名和主机名构成。 要使用REVOKE语句,必须拥有mysql数据库的全局CREATE USER权限或UPDATE权限。 实例1 收回test2用户的UPDATE权限。 1. 使用SELECT语句查看test2用户的SELECT权限、UPDATE权限和GRANT权限。SELECT语句的执行结果如下: 从上图中代码执行的结果可以看出,Select_priv、Update_priv和Grant_priv的值都为Y。 2. 收回test2用户的UPDATE权限。REVOKE语句的SQL代码如下: mysql>REVOKE UPDATE ON *.* FROM 'test2'@'localhost'; 执行结果如下: 结果显示,REVOKE语句执行成功。使用SELECT语句查看test2用户的UPDATE权限。SELECT语句的执行结果如下: 查询结果显示,Update_priv的值为N,说明test2用户的UPDATE权限已经收回。 实例2 收回test2用户的所有权限。REVOKE语句的SQL代码如下: mysql>REVOKE ALL PRIVILEGES,GRANT OPTION FROM 'test2'@'localhost'; 执行结果如下: 结果显示,REVOKE语句执行成功。使用SELECT语句查询test2用户的SELECT权限、UPDATE权限和GRANT权限。执行结果如下: 结果显示,Select_priv、Update_priv和Grant_priv的值都为N。说明tst2用户的这些权限都被收回了。 提示 当从旧版本的MySQL升级时,如果要使用EXECUTE、CREATE VIEW、SHOW VIEW、CREATE USER、CREATE ROUTINE和ALTER ROUTINE权限,则必须首先升级授权表。 数据库管理员给普通用户授权时一定要特别小心,如果授权不当,可能会给数据库带来致命的破坏。一旦发现给用户的授权太多,应该尽快使用REVOKE语句将权限收回。此处应特别注意,最好不要授予普通用户SUPER权限和GRANT权限。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |