欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 高考 > MySQL——数据库的高级操作(三)权限管理(4)收回权限

MySQL——数据库的高级操作(三)权限管理(4)收回权限

2024/10/23 17:57:17 来源:https://blog.csdn.net/W_Fe5/article/details/142294067  浏览:    关键词:MySQL——数据库的高级操作(三)权限管理(4)收回权限

        在 MySQL中,为了保证数据库的安全性,需要将用户不必要的权限收回,例如,数据管理员发现某个用户不应该具有 DELETE 权限,就应该及时将其收回。为了实现这种功能,MySQL提供一个 REVOKE 语句,该语句可以收回用户的权限。

        REVOKE的语法格式如下:

REVOKE privileges [columns][,privileges[(columns)]] ON database.table FROM 'username'@ hostname'[,'username'@'hostname']...

        REVOKE 语法格式中的参数与GRANT语句中的参数意思相同,privileges 参数表示收回的权限,columns 表示权限作用于哪列上,如果不指定该参数表示作用于整个表。使用 REVOKE 语句收回 user4 用户的 INSERT 权限,REVOKE 语句如下:

REVOKE INSERT ON *.* FROM "user4'@'localhost';

        上述语句执行成功后,可以使用 SELECT 语句来查询 user 表中的用户信息,查询结果如下:

mysql> SELECT Host,User,Password,Insert_priv FROM mysql.user WHERE user='user4'\G
*************************** 1. row ***************************Host: localhostUser: user4Password: *23AE809DDACAF96AF0FD78ED04B6A265E05AA257
Insert priv: N
l row in set (0.02 sec)

        从上述结果可以看出,Insert_priv 的权限值已经被修改为 N,因此可以说明REVOKE 语句将 user4 的 INSERT 权限收回了。

        如果用户的权限比较多,想一次性将其收回,使用上述语句就会比较麻烦,为此,REVOKE语句还提供了收回所有权限的功能。REVOKE语句收回全部权限的语法格式如下:

REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'username'@ 'hostname'[,'username'@'hostname']...

        使用 REVOKE 语句收回 user4 的所有权限,REVOKE 语句如下:

REVOKE ALL PRIVILEGES,GRANT OPTION FROM 'user4'@'localhost';

        上述语句执行成功后,可以使用 SELECT 语句来查询 user 表中的用户信息,查询结果如下:

mysql> SELECT Host,User,Password,Insert_priv,Select_priv,Grant_priv from mysql.user where user='user4'\G
*************************** 1. row ***************************Host: localhostUser: user4Password: *23AE809DDACAF96AF0FD78ED04B6A265E05AA257
Insert priv: N
Select priv:NGrant priv: N
1 row in set (0.00 sec)

        从上述结果可以看出,user4 用户的 INSERT、SELECT、GRANT 权限都被收回了。
 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com