MySQL系列-权限管理

运维少年 运维少年

系列文章说明

MySQL系列文章包含了软件安装、具体使用、备份恢复等内容,主要用于记录个人的学习笔记,主要使用的MySQL版本为5.7.28,服务器系统版本为CentOS 7.5。本章节为数据库权限管理。

权限

什么是权限?

① MySQL的权限是针对用户设计,管理员可以根据不同的用户赋予不同的权限,权限的作用对象为数据库和表。即对用户操作对象的行为进行限制。

② Linux则跟MySQL不同,Linux的权限更多的是文件属性,如我们可以通过chmod或者chown等命令对文件权限的属性进行修改。

权限的表现形式是什么?

① MySQL的权限表示形式为:用户的增删改查权限

② Linux的权限通常表示为:文件的rwx属性

如何查看权限?

MySQL数据库可以使用show命令查看用户的权限信息。

查看用户授权常用格式

show grants for 用户;

查看yunwei用户的权限信息

show grants for yunwei@'%';

如何添加权限

MySQL数据库添加权限使用的命令为grant,添加授权在用户重新连接后才生效。

版本说明

① 8.0版本之前,grant命令可以用于创建用户和权限赋值

② 8.0(含)版本之后,grant命令只能用于权限赋值

③ 为了命令能够通用,本文使用通用的方式进行配置

添加授权常用格式:

grant 权限1,权限2,权限... on 对象(数据库/表) to 用户;

添加权限 管理员权限

一般来说,管理员拥有所有权限,在添加管理员用户时,权限字段可以通过ALL参数设置,将所有操作对象权限赋予管理员用户。

创建一个管理员user1,并赋予管理员权限。

create user user01@'%' identified by '123'; # 创建用户

grant all on *.* to user01@'%'; # all为所有权限 *.* 表示所有的数据库和表

如果该管理员需要拥有对其他用户管理权限时,应在赋值后面添加with grant option字段

grant all on *.* to user01@'%' with grant option;

测试无管理用户权限时,对用户权限管理情况。

select user,host from mysql.user; # 查看用户

grant select on mysql.* to yunwei@'%'; # 赋予mysql数据库所有表的select权限给yunwei

测试有管理用户权限时,对用户权限管理情况

如果用户权限没有变化,请使用以下命令刷新权限信息

flush privileges;

添加权限 普通用户权限

一般来说,对普通用户的权限管理会精细到某个数据库或者表。例如app用户只能管理app数据库,yunwei用户只能管理app数据库的user表等。

对user02用户赋予app数据库的查询和创建表权限

grant create,select on app.* to 'user02'@'%'; # 赋予权限

flush privileges; # 刷新权限信息

show grants for 'user02'@'%'; # 查看用户权限

测试user02在app数据中创建表user和查看表

select user(); #查看当前用户

create table app.user(id int,name varchar(20));

测试user02对app数据库中的其他操作和对其他数据库的操作

✎ 注意

MySQL数据库多次授权时不会覆盖原来的权限!例如user01有select权限,下次授权create权限给user01,这时user01会拥有select和create两种权限。

如何删除授权

MySQL数据库一般使用revoke命令对用户的权限进行移除,移除授权在用户重新连接后才生效。

删除授权的一般格式:

revoke 权限 on 对象 from 用户;

删除user02用户对app数据库的select权限

show grants for 'user02'@'%'; # 查看用户权限

revoke select on app.* from 'user02'@'%'; # 删除授权

show grants for 'user02'@'%'; # 查看用户权限

删除user02用户对app库的所有权限

show grants for 'user02'@'%'; # 查看用户权限

revoke all on app.* from 'user02'@'%'; # 删除授权

show grants for 'user02'@'%'; # 查看用户权限

如何查看权限

查看权限 用户权限

用户权限可以使用show命令查看,也可以查看数据库表记录。

show grants for 用户;

查看数据表中的记录

select * from mysql.user where user='user02'\G;

查看权限 查看数据库权限信息

数据库权限信息保存在mysql.db表中

select * from mysql.db where Db='app'\G;

查看权限 其他对象权限

MySQL常用权限

个人思维导图

mysql 查看个人版,MySQL系列-权限管理相关推荐

  1. mysql pma用户_MYSQL用户权限管理学习笔记

    MYSQL用户管理 1.权限表 MYSQL是一个多用户的数据库,MYSQL的用户可以分为两大类: (1)       超级管理员用户(root),拥有全部权限 (2)       普通用户,由root ...

  2. MySQL学习笔记8:权限管理、数据库备份与设计

    1.前言 学习视频源自:[狂神说Java]MySQL最新教程通俗易懂 B站视频链接:https://www.bilibili.com/video/BV1NJ411J79W [狂神说Java]MySQL ...

  3. MYSQL数据库实验(用户与权限管理)

    实验: 数据库安全性实验 一.实验目的 创建表和用户管理 创建表单是数据库中最基本的操作,也是使用比较频繁的操作,因此必须掌握SQL的(CREATE语句)的使用方法.而对于用户的管理操作更是一名合格的 ...

  4. MySQL添加用户及用户权限管理

    目录 1.用户 <1> 用户信息 <2> 创建用户 <3> 删除用户 <4> 修改用户密码 2.用户权限管理 <1> 查看用户权限 < ...

  5. mysql数据库用户及用户权限管理

    1.mysql数据库的权限 (1)mysql数据库用户权限级别 1)全局性管理权限:作用于整个mysql实例级别 2)数据库级别:作用于指定的某个数据库上或者所有数据库上 3)数据库对象级别权限:作用 ...

  6. MySQL查看所有用户及权限

    查看MYSQL数据库中所有用户 及 有权访问的host mysql> SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS ...

  7. mysql中member_在MySql中实现MemberShip的权限管理

    步骤: 1.在MySql种创建一个数据库,名称任意取,我们只是要得到一个空的数据库,我们假设这个数据库的名称为authentication. 2.在VS种创建一个Web应用程序,File--new-- ...

  8. mysql 查看 dml,MySQL系列-DML语句

    MySQL系列-DML语句 运维少年 运维少年 系列文章说明 MySQL系列文章包含了软件安装.具体使用.备份恢复等内容,主要用于记录个人的学习笔记,主要使用的MySQL版本为5.7.28,服务器系统 ...

  9. mysql 查看有没有drop权限的命令

    查看 root 用户有没有drop权限: select drop_priv from mysql.user where user = 'root';

最新文章

  1. 请写出查询该表中成绩最大值的sql语句_SQL-汇总分析
  2. 没有头文件调用cpp_VS2017中同一个解决方案下不同工程的调用
  3. 7.LARS lasso 模型
  4. 能直接挂在iis的动静态网站_网站优化思路总结之前端
  5. 2016-04-25-信息系统实践手记5-CACHE设计一例
  6. CentOS 7 MySql 解压版安装配置
  7. linux安装python_Linux下安装python环境
  8. 新年春节海报模板|中国风艺术元素,就是不一样!
  9. 【Java 8】教你用 Java 8中的 Optional 更优雅的判空
  10. linux启动redis指定端口,linux redis实现自定义运行多端口、多实例 | 极安全-JiSec
  11. 3D游戏常用技巧Normal Mapping (法线贴图)原理解析——基础篇
  12. 转载--32个鲜为人知的自学网站
  13. GDC演讲翻译——看门狗2的载具同步
  14. Java实现系统统一对外开放网关入口设计
  15. GANs奇思妙想TOP10榜单
  16. 架构搜索文献笔记(9):《CurveLane-NAS: Unifying Lane-Sensitive Architecture Search and Adaptive Point》
  17. 如何把pdf转换成excel
  18. Mac 搭建本地SVN,并使用Cornerstone管理svn
  19. 安卓防止手机休眠软件_Caffeinate app下载-手机防休眠工具Caffeinate下载v3.3.3 安卓版-西西软件下载...
  20. E3闪光 - 世界第一双启动,PS3的最简单的操作设备到达令人惊讶

热门文章

  1. 小氓男-灰色按钮激活V1.0
  2. c语言-指针的本质和使用
  3. 类中内容在内存中到底是如何分配的呢?
  4. 2022.4.9 mac os M1 芯片 12.3.1 Monterey 安装cocoapods
  5. Matlab 字符串比较
  6. 隐藏滚动条或更改滚动条样式加制作三角形
  7. the job was canceled什么意思_宇宙中的第一种颜色是什么?
  8. 多多自走棋改动_多多自走棋腾讯版
  9. QTablewidget只显示横分割线,不显示竖分割线
  10. java 7.0下载_Java jre 7.0