收回用户的权限就是取消已经赋于用户的某些权限。例如,如果数据库管理员觉得某个用户不应该拥有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权限。

mysql回收所有权限_MySQL收回用户的权限相关推荐

  1. mysql用户replace权限_mysql查看用户的权限脚本

    1.安装mysql支持python包 yum -y install mysql-connector-python 2.查看MySQL 用户权限的Python脚本 vi py_priv.py #!/us ...

  2. mysql 用户赋予全部权限_mysql 给用户赋值权限

    解决办法 grant all privileges on *.* to joe@localhost identified by '1'; flush privileges; 拿 joe 1 登陆 附: ...

  3. mysql创建函数的权限_MySQL创建用户和权限管理的方法

    一.如何创建用户和密码 1.进入到mysql数据库下 mysql> use mysql Database changed 2.对新用户增删改 1.创建用户 # 指定ip:192.118.1.1的 ...

  4. mysql用户权限管理:查看用户权限、授予用户权限、收回用户权限

    查看用户权限.授予用户权限.收回用户权限命令总结: 项 命令示例 查看用户权限 show grants; show grants for chushiyan@localhost; 授予用户权限 gra ...

  5. mysql角色附权和解除权限_MySql授权和撤销权限操作

    MySQL 赋予用户权限命令的简单格式可概括为: grant 权限 on 数据库对象 to 用户 用户后面可以加@'ip地址' identified by '密码' 例如: grant all on ...

  6. mysql设置php权限_MYSQL新建用户并设置权限

    首先要声明一下:一般情况下,修改MySQL密码,授权,是需要有mysql里的root权限的. 注:本操作是在WIN命令提示符下,phpMyAdmin同样适用. 用户:phplamp  用户数据库:ph ...

  7. mysql 创建账号权限_mysql创建用户,并指定用户的权限(grant命令)

    1.创建新用户的SQL语句: CREATE USER 'pig'@'192.168.1.101_' IDENDIFIED BY '123456'; // pig 是用户名,@后面的是指定ip(如果不限 ...

  8. 怎样设置mysql软件用户_mysql数据库用户的权限如何设置?

    mysql数据库用户的权限如何设置?考虑到数据库的安全在将数据库的登录名和密码给别人时我们通常都需要为用户设置数据库的权限,那么mysql数据库用户的权限如何设置呢?小编为大家带来了用phpmyadm ...

  9. mysql 赋权限_MySQL赋予用户权限命令总结

    MySQL用户可用权限 一个新建的MySQL用户没有任何访问权限,这就意味着你不能在MySQL数据库中进行任何操作.你得赋予用户必要的权限.以下是一些可用的权限: ALL: 所有可用的权限 CREAT ...

最新文章

  1. 什么是CGI、FastCGI、PHP-CGI、PHP-FPM
  2. IDEA下spring boot项目打包war包部署外部tomcat问题
  3. Android 10.0 系统启动之SystemServer进程-[Android取经之路]
  4. MyBatis基本运行环境
  5. PHP的pathinfo()
  6. FFmpeg avio_alloc_context函数剖析
  7. Linq--使用Linq在不同类型之间转换
  8. maven的标准pom.xml详解
  9. linux安装nvidia黑屏,GTX 550 Ti 安装Linux遇到的问题 黑屏 显示器休眠
  10. idea怎么拉不同的git分支_idea中git分支、合并与使用
  11. 火星地形地貌图,摄影:“祝融号”火星车
  12. golang 语言中关于err的函数的封装使用
  13. python数字时钟
  14. 3D图形渲染及数字图像处理算法相关文集
  15. linux怎么打开隐藏文件夹,如何在文件管理器中隐藏文件和文件夹
  16. Kruskal理解+代码解析
  17. ae打开模板显示不出来_打开AE模板提示缺少rsmb pro插件的解决办法
  18. 未来音乐战场:从「听音乐」到「用音乐」
  19. 视频教程-2019视频营销实战教程-网络营销
  20. php python 源码安装教程,Python安装的图文教程分享

热门文章

  1. Curve分叉项目Swerve的24小时交易量达1.8亿美元
  2. 环境工程怎样利用计算机思维,对计算机思维的逻辑分析
  3. Teorex Inpaint for Mac v9.1 中文版 抠图和水印删除工具
  4. 简单U盘修复工具(SURT).hta
  5. dll和exe的区别
  6. 企业信息化投入中咨询服务_企业信息化咨询问题研究
  7. 适用于Mac和Windows的12种最佳WordPress编辑器的代码编辑器
  8. 正确理解直线的方向向量
  9. python 入门学习教程笔记-- BMR 计算器
  10. 丰田Mirai燃料电池