MySQL撤销(revoke)用户权限

文章目录

  • 撤销用户对某个数据库的全部权限
  • 撤销用户对某个数据库的部分权限
  • 撤销用户对某个数据库的某张表的部分权限
  • 撤销用户对任何数据库的任何表的部分权限
  • 撤销 WITH GRANT OPTION 权限
  • 权限表
  • 撤销权限的巨坑
    • 撤销语句要和授权语句完全一致
    • 权限 USAGE 是无法撤销的
    • 数据库 test 的资源可以随意访问

REVOKE 的含义:撤销、取消、使无效、作废。

撤销用户对某个数据库的全部权限

mysql> REVOKE ALL PRIVILEGES ON database_name.* FROM 'user_name'@'host';

注:关键字 privileges 可以省略。

撤销用户对某个数据库的部分权限

例如,收回用户对某个数据库的插入、更新、删除的权限:

mysql> REVOKE INSERT, UPDATE, DELETE ON database_name.* FROM 'user_name'@'host';

撤销用户对某个数据库的某张表的部分权限

例如,收回用户对某个数据库的某个表的插入、更新、删除的权限:

mysql> REVOKE INSERT, UPDATE, DELETE ON database_name.table_name FROM 'user_name'@'host';

撤销用户对任何数据库的任何表的部分权限

例如,收回用户查询表数据的权限(注:任何数据库的任何表都不能查询):

mysql> REVOKE SELECT ON *.* FROM 'user_name'@'host'; 

撤销 WITH GRANT OPTION 权限

必须使用下面的语句才能撤销 WITH GRANT OPTION 权限:

mysql> revoke all privileges,grant option from 'user_name'@'host';

注:关键词 privileges 可以省略掉。

权限表

在这里插入图片描述

撤销权限的巨坑

撤销语句要和授权语句完全一致

假如你给用户 pig@% 授权的语句如下:

mysql> GRANT SELECT ON test.user TO 'pig'@'%';

那么使用如下的语句,根本无法撤销上述的查询权限(即不能撤销该用户对 test 数据库中 user 表的 SELECT 操作权限):

mysql> REVOKE SELECT ON *.* FROM 'pig'@'%';

而且使用下面的语句,还会报错:

mysql> REVOKE SELECT ON test.* FROM 'pig'@'%';
ERROR 1141 (42000): There is no such grant defined for user 'pig' on host '%'

同样地,如果你使用下面的语句给用户 pig@% 授权:

GRANT SELECT ON *.* TO 'pig'@'%';

那么使用下面的语句,根本无法撤销该用户对 test 数据库中 user 表的 SELECT 权限:

REVOKE SELECT ON test.user FROM 'pig'@'%';

权限 USAGE 是无法撤销的

创建用户的时候,默认会赋予 USAGE 权限:

GRANT USAGE ON *.* TO 'user_name'@'host';

但是 USAGE 权限无法撤销。

数据库 test 的资源可以随意访问

新建的用户默认拥有 test 数据库的全部权限,而且无法撤销这些权限。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/333072.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

无服务器–仅仅是构建现代应用程序的一种方法?

如果搜索“无服务器”,则会发现无服务器是构建现代应用程序的一种新的流行方式。 无服务器真的是新的吗? 无服务器是指您无需担心服务器的概念–无需置备,部署和维护服务器。 显然有服务器,但是您不必考虑或担心它们,…

Mybatis核心配置文件xml详解

<!-- configuration:在dtd约束中? 代表一次或零次 代表一次或多次&#xff08;最少一次&#xff0c;可以多次&#xff09;* 代表零次或多次&#xff08;有没有都可以&#xff09;, :逗号 特定的顺序&#xff08;&#xff09;| :竖杠 任选其一能添加的标签和顺序properties?…

MySQL查询语句后面加上“\G”,提示 ERROR: No query specified

在查询语句后面以 \G 结尾&#xff0c;表示纵向显示每行记录&#xff0c;如下所示&#xff1a; mysql> select * from student\G; *************************** 1. row ***************************id: 00000000000000000001name: liaowenxiongage: 22score: NULLbirthday:…

c++ 嵌套私有类_嵌套类和私有方法

c 嵌套私有类当您在另一个类中有一个类时&#xff0c;他们可以看到彼此的private方法。 在Java开发人员中并不为人所知。 面试过程中的许多候选人说&#xff0c; private是一种可见性&#xff0c;它使代码可以查看成员是否属于同一班级。 这实际上是对的&#xff0c;但更准确地…

Mybatis多参数封装到一个类中模糊查询

1.创建QueryValueObject实体类 package com.william.domain;import org.omg.PortableInterceptor.USER_EXCEPTION;/*** author &#xff1a;lijunxuan* date &#xff1a;Created in 2019/7/12 12:09* description &#xff1a;* version: 1.0*/ public class QueryValueObje…

MySQL数据库的权限表

文章目录user 表db 表tables_priv 表columns_priv表MySQL 数据库中与权限相关的表&#xff1a;user、db、tables_priv、columns_priv。 user 表 mysql> select * from mysql.user\G *************************** 1. row ***************************Host: localhostUser: …

jakarta ee_MicroProfile在Jakarta EE时代的作用

jakarta ee自创建以来&#xff0c;MicroProfile赢得了广泛的关注&#xff0c;并制定了各种规格。 最初&#xff0c;它的创建是为了在多个供应商的推动下&#xff0c;以更快的速度推进微服务世界的企业Java。 现在&#xff0c;随着在Eclipse Foundation下将Java EE转换为Jakarta…

Linux系统下MySQL数据库的超级管理员root的密码忘记/忘记密码怎么办?

文章目录方法一方法二方法三方法一 1.添加登录跳过权限检查配置 修改 /etc/my.cnf 文件&#xff0c;在 [mysqld] 配置节点添加 skip-grant-tables 配置 [mysqld] skip-grant-tables2.重新启动mysql服务 service mysqld restart3.修改密码 添加登录跳过权限检查配置后&#x…

Mybatis多参数封装到map中,多条件查询

1.UserMapper接口 package com.william.dao;import com.william.domain.QueryValueObject; import com.william.domain.User;import java.util.List;public interface UserMapper {/*** 多参数封装到map中&#xff0c;多条件查询* param map* return*/List<User> findBy…

jax-rs配置_具有MicroProfile配置的可配置JAX-RS ExceptionMapper

jax-rs配置当使用JAX-RS创建REST服务时&#xff0c;通常不返回任何内容&#xff08;例如HTTP 201/2/4等&#xff09;或某些数据&#xff08;可能采用JSON格式&#xff08;因此HTTP 200&#xff09;&#xff0c;或者返回某些异常/错误&#xff08;因此HTTP 4xx或5xx&#xff09;…

MySQL数据库修改用户登录密码的三种方式

文章目录一、更新 mysql.user 表二、用 set password 命令三、使用 mysqladmin 命令提醒&#xff1a;MYSQL5.7 版本后不再支持password()函数和password字段。 一、更新 mysql.user 表 mysql> use mysql; mysql> update user set passwordpassword(123456) where userr…

Mybatis多条件直接查询

1.UserMapper接口 package com.william.dao;import com.william.domain.QueryValueObject; import com.william.domain.User;import java.util.List;public interface UserMapper {/*** 根据多条件直接查询* param username* param sex* param startIndex* param pageSize* re…

java 正在验证应用程序_Java应用程序中的验证

java 正在验证应用程序我经常看到的项目几乎没有任何有意识的数据验证策略。 他们的团队在截止日期&#xff0c;明确要求的巨大压力下工作&#xff0c;只是没有足够的时间以适当且一致的方式进行验证。 因此&#xff0c;数据验证代码随处可见&#xff1a;JavaScript片段&#x…

Mybatis多条件直接查询Param注解版

1.UserMapper接口 package com.william.dao;import com.william.domain.QueryValueObject; import com.william.domain.User;import java.util.List;public interface UserMapper {/*** 多条件直接查询Param注解版* param username* param sex* param startIndex* param pageS…

WPS for MacOS如何设置自动句首字母大写

在顶部菜单栏&#xff0c;点击【文件】–>【文字偏好设置】或者点击左上角的【文件】–>【文字偏好设置】&#xff1a;

java 和javafx_Java,JavaFX的流利设计风格文本字段和密码字段

java 和javafx我刚刚发布了Java版本4.5 &#xff0c;JavaFX主题JMetro 。 此版本为“文本字段”和“密码字段”添加了新样式。 和往常一样&#xff0c;受到Fluent Design的启发。 在这篇文章中&#xff0c;我将详细介绍这个新版本。 JMetro版本4.5 就像我在简介中所说的那样&…

WPS for MacOS如何设置自动编号

在顶部菜单栏&#xff0c;点击【文件】–>【文字偏好设置】或者点击左上角的【文件】–>【文字偏好设置】&#xff1a;

Mybatis结果集映射

一、使用场景 当数据库里的列名和实体类的属性名不一致&#xff0c;就需要进行结果映射 二、UserMapper接口 package com.william.dao;import com.william.domain.QueryValueObject; import com.william.domain.User; import org.apache.ibatis.annotations.Param;import …

activemq 性能测试_ActiveMQ性能测试

activemq 性能测试我们使用ActiveMQ作为消息传递层–发送大量需要低延迟的消息。 通常它可以正常工作&#xff0c;但是在某些情况下我们已经看到性能问题。 在花了太多时间测试我们的基础结构之后&#xff0c;我想我已经学到了有关ActiveMQ的一些有趣的东西&#xff1a;它可能真…