查看用户权限、授予用户权限、收回用户权限命令总结:

命令示例
查看用户权限 show grants;
show grants for chushiyan@localhost;
授予用户权限 grant insert on test.* to chushiyan@localhost;
grant delete on test.* to chushiyan@localhost;
grant update on test.* to chushiyan@localhost;
grant select on test.* to chushiyan@localhost;
收回用户权限 revoke insert,delete,update,select on test.* from chushiyan@localhost;
revoke all on test.* from chushiyan@localhost;
revoke all ,grant option from chushiyan@localhost;

具体详情见下。

一、查看用户权限

(一)使用show grant命令查看用户权限

1、查询当前用户权限:

show grants;

示例:

mysql> show grants;
+----------------------------------------------------------------------------------------------------------------------------------------+
| Grants for root@localhost                                                                                                              |
+----------------------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*7BB4897EB74329520EE1456DDA7DC45ED2CA2AD0' WITH GRANT OPTION |
+----------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

2、查看指定用户的权限

show grants for chushiyan@localhost;

首先创建用户chushiyan,然后授予test库的查询权限

create user chushiyan@localhost identified by “123456”;
grant select on test.* to chushiyan@localhost;

查看用户chushiyan的权限:

mysql> show grants for chushiyan@localhost ;
+------------------------------------------------------------------------------------------------------------------+
| Grants for chushiyan@localhost                                                                                   |
+------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'chushiyan'@'localhost' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' |
| GRANT SELECT ON `test`.* TO 'chushiyan'@'localhost'                                                              |
+------------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

show grants命令将授权语句都打印出来了。第一条记录是使用create user命令创建用户chushiyan时默认的授权,第二条就是我们授予的test库的查询权限。

(二)使用select直接查询mysql.user表查看用户的全局权限

SELECT * FROM mysql.user WHERE user='chushiyan'\G

注释:\G使查询到的每列打印到单独的行,也有’;'的作用

mysql.user表存放的是用户名、密码、来源主机,同时也存放了用户的全局权限。

mysql> SELECT * FROM mysql.user WHERE user='chushiyan'\G
*************************** 1. row ***************************Host: localhostUser: chushiyanPassword: *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9Select_priv: NInsert_priv: NUpdate_priv: NDelete_priv: NCreate_priv: NDrop_priv: NReload_priv: NShutdown_priv: NProcess_priv: NFile_priv: NGrant_priv: NReferences_priv: NIndex_priv: NAlter_priv: NShow_db_priv: NSuper_priv: N
Create_tmp_table_priv: NLock_tables_priv: NExecute_priv: NRepl_slave_priv: NRepl_client_priv: NCreate_view_priv: NShow_view_priv: NCreate_routine_priv: NAlter_routine_priv: NCreate_user_priv: Nssl_type:ssl_cipher:x509_issuer:x509_subject:max_questions: 0max_updates: 0max_connections: 0max_user_connections: 0
1 row in set (0.00 sec)

二、授予用户权限

示例:授予test库中所有表的增删改查权限:

grant insert on test.* to chushiyan@localhost;
grant delete on test.* to chushiyan@localhost;
grant update on test.* to chushiyan@localhost;
grant select on test.* to chushiyan@localhost;

授权后查看该用户的权限:

mysql> show grants for chushiyan@localhost ;
+------------------------------------------------------------------------------------------------------------------+
| Grants for chushiyan@localhost                                                                                   |
+------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'chushiyan'@'localhost' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' |
| GRANT SELECT, INSERT, UPDATE, DELETE ON `test`.* TO 'chushiyan'@'localhost'                                      |
+------------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

那mysql中都有哪些权限?

mysql中用户的权限:

权限类型 权限说明
All/All Privileges 代表全局或者全数据库对象级别的所有权限
Alter 代表允许修改表结构的权限,但必须要求有create和insert权限配合。如果是rename表名,则要求有alter和drop原表, create和insert新表的权限
Alter routine 代表允许修改或者删除存储过程、函数的权限
Create 代表允许创建新的数据库和表的权限
Create routine 代表允许创建存储过程、函数的权限
Create tablespace 代表允许创建、修改、删除表空间和日志组的权限
Create temporary tables 代表允许创建临时表的权限
Create user 代表允许创建、修改、删除、重命名user的权限
Create view 代表允许创建视图的权限
Delete 允许执行delete操作
Drop 代表允许删除数据库、表、视图的权限,包括truncate table命令
Event 代表允许查询,创建,修改,删除MySQL事件
Execute 代表允许执行存储过程和函数的权限
File 代表允许在MySQL可以访问的目录进行读写磁盘文件操作,可使用的命令包括load data infile,select … into outfile,load file()函数
Grant option 代表是否允许此用户授权或者收回给其他用户你给予的权限,重新付给管理员的时候需要加上这个权限
Index 代表是否允许创建和删除索引
Insert 代表是否允许在表里插入数据,同时在执行analyze table,optimize table,repair table语句的时候也需要insert权限
Lock tables 代表允许对拥有select权限的表进行锁定,以防止其他链接对此表的读或写
Process 代表允许查看MySQL中的进程信息,比如执行show processlist, mysqladmin processlist, show engine等命令
Reference 是在5.7.6版本之后引入,代表是否允许创建外键
Reload 代表允许执行flush命令,指明重新加载权限表到系统内存中,refresh命令代表关闭和重新开启日志文件并刷新所有的表
lication client 代表允许执行show master status,show slave status,show binary logs命令
Replication slave 代表允许slave主机通过此用户连接master以便建立主从复制关系
Select 允许执行select操作
Show databases 代表允许执行show databases命令查看所有的数据库名
Show view 代表允许执行show create view命令查看视图创建的语句
Shutdown 代表允许关闭数据库实例,执行语句包括mysqladmin shutdown
Super 代表允许执行一系列数据库管理命令,包括kill强制关闭某个连接命令, change master to创建复制关系命令,以及create/alter/drop server等命令
Trigger 代表允许创建,删除,执行,显示触发器的权限
Update 允许执行update操作
Usage 是创建一个用户之后的默认权限,其本身代表连接登录权限。使用create user语句创建的用户,默认就拥有这个usage权限,但是除了能登录之外,

三、收回用户权限

(一)收回指定权限

收回前面授予test库中所有表的增删改查权限:

revoke insert,delete,update,select on test.* from chushiyan@localhost;

或者也可以通过下面命令收回对test库中所有表的所有权限:

revoke all privileges on test.* from chushiyan@localhost;
# 当然省略privileges也可以:
revoke all on test.* from chushiyan@localhost;

特殊情况:

1、usage权限是用户一经创建就拥有的,使用revoke命令无法收回:

mysql> revoke usage on *.* from chushiyan@localhost;
Query OK, 0 rows affected (0.00 sec)mysql> show grants for chushiyan@localhost ;
+------------------------------------------------------------------------------------------------------------------+
| Grants for chushiyan@localhost                                                                                   |
+------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'chushiyan'@'localhost' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' |
+------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

(二)收回所有权限

下面这个命令会收回该用户所有权限(当然除了用户一创建就有的usage权限)

revoke all ,grant option from chushiyan@localhost;
mysql> revoke all ,grant option from chushiyan@localhost;
Query OK, 0 rows affected (0.01 sec)mysql> show grants for chushiyan@localhost ;
+------------------------------------------------------------------------------------------------------------------+
| Grants for chushiyan@localhost                                                                                   |
+------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'chushiyan'@'localhost' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' |
+------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql用户权限管理:查看用户权限、授予用户权限、收回用户权限相关推荐

  1. cognos java用户权限_Cognos 权限管理之第三方目录管理员器、报表服务器权限管理、FrameWork权限管理等详细配置 【39页深度好文图文并茂带你全面了解Cognos权限管理】...

    一.引言 1.1. 编写目的 本文档是结合以往的开发经验,从实际报表开发出发,详细介绍了ReportNet报表设计流程.开发技巧,报表性能调优.FM建模规范及技巧讲解.总结的文档希望对大家在日后的开发 ...

  2. rbac权限管理5张表_PHP之常用的RBAC权限管理详解

    文章正文 在说权限管理前,应该先知道权限管理要有哪些功能: (1).用户只能访问,指定的控制器,指定的方法 (2).用户可以存在于多个用户组里 (3).用户组可以选择,指定的控制器,指定的方法 (4) ...

  3. sybase用户权限管理3 _角色授予

    为登录用户授予角色 角色,或者受角色授权方式,是ASE为登录用户(数据库用户)执行某类操作所进行的集团授权方式,所谓的某类操作,可能是某种系统管理任务,也可能是某类应用操作,这些操作需要ASE提供安全 ...

  4. oracle有dba角色用户,ORACLE管理-查看拥有DBA角色的用户

    1.查看所有用户: select * from dba_users; select * from all_users; select * from user_users; 2.查看用户或角色系统权限( ...

  5. linux用户密码管理,Linux_详解Linux中的用户密码管理命令passwd和change,passwd 修改用户密码参数 nbsp - phpStudy...

    详解Linux中的用户密码管理命令passwd和change passwd 修改用户密码 参数 -k 保持未过期身份验证令牌 -l 关闭账号密码.效果相当于usermod -L,只有root才有权使用 ...

  6. 数据级的权限管理和功能级的权限管理的区别,不使用框架(shiro,springsecurity)做权限设计的思考

    1 数据级的权限管理和功能级的权限管理 引自:http://www.iteye.com/problems/97374 功能级权限,有大有小.大的可以直接包括一个业务模块,小的可以是一个按钮.一般的功能 ...

  7. hive表级权限控制_数据库权限管理:表、行、列级别的权限控制

    权限规则 1. 在配有主从集群时建议在主节点上做权限相关操作 2. 只有管理员和超级管理员才有将数据导入至表中的权限 3. 管理员用户赋予的是以整表为单位的权限,所有能赋予的权限为create/sel ...

  8. java 接口权限控制_手把手教你搞定权限管理,结合Spring Security实现接口的动态权限控制!...

    SpringBoot实战电商项目mall(30k+star)地址:github.com/macrozheng/- 摘要 权限控管理作为后台管理系统中必要的功能,mall项目中结合Spring Secu ...

  9. linux 权限管理 改变groupid,如何在linux下修改组权限

    chmod g+r path/file 加读权限 当前目录 chmod -R g+r path/file 加读权限 当前目录以及子目录 g-r 减读权限 g+w 加写权限 g-w g+x 加执行权限 ...

  10. 计算机如何对多个用户进行管理,如何给多个账户设置密码?-用户账户控制设置...

    在Windows系统中,给多个账户设置密码是对多个账户的安全性进行保障的作用,但是@小恩课堂头条号里面只说到一个方法,只是给单用户设置密码用的,不符合个人的习惯,接下来,我们用三种方法来讲解如何给多个 ...

最新文章

  1. 软件:向工业互联网产业成功转型的关键
  2. Nginx的upstream目前支持5种分配方式
  3. 如何解决XML文件中的警告提示“No grammar constraints (DTD or XML Schema) referenced in the document.”...
  4. win服务器是如何发展到现在的?
  5. js 数组/对象/日期的浅克隆
  6. 乙肝疫苗该怎么打(转)
  7. 基于spring注解AOP的异常处理
  8. 零基础学python pdf-笔记《零基础入门学习Python(第2版)》PDF+课件+代码分析
  9. Alibaba内部713页Java程序性能优化实战手册首次开放,大受好评
  10. 【课程作业】学术英语写作:文献阅读报告1
  11. python包离线安装教程_Linux下离线安装Python项目的依赖包
  12. 数据存取演变史、数据库软件应用史、数据库的本质、分类、 MySQL数据库、系统服务制作、基本的SQL语句
  13. html5打开抖音链接,抖音主页链接在哪里弄(主页链接设置教程)
  14. 对比:空洞卷积与转置卷积(吉米王)
  15. 简单测试IP地址连通性
  16. 什么,BOM指的是物料清单?
  17. oracle instr函数(oracle 用instr 来代替 like)
  18. 0.爬虫介绍及requests库的使用
  19. 分享一下我的阿里3面+HR面面经,附上我总结的面试真题!
  20. 离线部署python project 2021年4月2日更新

热门文章

  1. TCP的三次握手与四次挥手详解
  2. tf第九讲:tensorboard可视化之tf.summary
  3. 华测RTK配合大疆精灵4 RTK 为武汉某矿山提供1:500地形数据
  4. XPS表征(工作原理与特点)
  5. 常见的信号平滑处理方法
  6. win7开机显示密码错误咋办?
  7. 基于matlab的磁悬浮控制系统,基于MATLAB的磁悬浮控制系统研究
  8. gcIPtoHostQueue.exe
  9. ADS16488驱动的软硬件设计以及ROS的驱动
  10. 常用的文件类型有哪些?有什么类型,属于什么文件?