一、本篇直接进入主题吧~

1.MySQL赋权限有几个维度?分别是什么?

  • 4个,全局、DB、表、列。

2.全局权限的语法是什么?原理是什么?生效时机是什么时候?

  • grant all privileges on *.* to 'ua'@'%' with grant option;

  • 1)磁盘上,将 mysql.user 表里,用户’ua’@’%'这一行的所有表示权限的字段的值都修改为‘Y’;2)内存里,从数组 acl_users 中找到这个用户对应的对象,将 access 值(权限位)修改为二进制的“全 1”。

  • 命令完成后即时生效,接下来新创建的连接会使用新的权限。但是,对于一个已经存在的连接,它的全局权限不受 grant 命令的影响。

3.db权限的语法是什么?原理是什么?生效时机是什么时候?

  • grant all privileges on db1.* to 'ua'@'%' with grant option;

  • 1)磁盘上,往 mysql.db 表中插入了一行记录,所有权限位字段设置为“Y”;2)内存里,增加一个对象到数组 acl_dbs 中,这个对象的权限位为“全 1”。

  • acl_dbs 是一个全局数组,所有线程判断 db 权限都用这个数组,这样 revoke 操作马上就会影响到当前session。

4.表和列权限的差异和特殊点是什么?

  • 差异:表权限定义存放在表 mysql.tables_priv 中,列权限定义存放在表 mysql.columns_priv 中。这两类权限,组合起来存放在内存的 hash 结构 column_priv_hash 中。

  • 共同:跟 db 权限类似,这两个权限每次 grant 的时候都会修改数据表,也会同步修改内存中的 hash 结构。因此,对这两类权限的操作,也会马上影响到已经存在的连接。

5.flush privileges 使用场景?举例?

  • 当数据表中的权限数据跟内存中的权限数据不一致的时候,flush privileges 语句可以用来重建内存数据,达到一致状态

  • delete from mysql.user where user = 'ua'; 直接删除,会导致磁盘跟内存不一致。drop命令同时操作磁盘和内存

二、课后评论

6.MySQL常用命令(虽然很不想记,但是不记又不行)

  • \G 行转列并发送给 mysql server

  • \g 等同于 ;

  • \! 执行系统命令

  • \q exit

  • \c 清除当前SQL(不执行)

  • \s mysql status 信息

7.MySQL 表设计时列表顺序对MySQL性能的影响大吗?对表的列顺序有什么建议吗?

  • 不大

  • 每次如果要加列都加到最后一列,主从同步最后一列没有值也没关系 ,如果插入中间 会sql报错

​​​​​​​

42 | MySQL Grant赋权限(这篇文章可能没啥你想要的)相关推荐

  1. Mysql Grant 用户权限总结(详细编)

    MySQL 具体有哪些权限呢?相信好多人已经不记得了,此文章将解决你的问题,请看下图: MySQL权限图: 很明显总共27个权限:下面是具体的权限介绍: 一.权限表 mysql数据库中的3个权限表:u ...

  2. 面试官出的MySQL索引问题,这篇文章全给你解决!

    原文链接:blog.ouyangsihai.cn >> MySQL的B 树索引的概念.使用.优化及使用场景 在看这篇文章之前,我们回顾一下前面的几篇关于MySQL的文章,应该对你读下面的文 ...

  3. 讲真,MySQL索引优化看这篇文章就够了

    本文主要讨论MySQL索引的部分知识.将会从MySQL索引基础.索引优化实战和数据库索引背后的数据结构三部分相关内容,下面一一展开. 一.MySQL--索引基础 首先,我们将从索引基础开始介绍一下什么 ...

  4. MySQL索引优化看这篇文章就够了!

    阅读本文大概需要 5 分钟. 来源:cnblogs.com/songwenjie/p/9410009.html 本文主要讨论MySQL索引的部分知识.将会从MySQL索引基础.索引优化实战和数据库索引 ...

  5. 黑客零基础入门教程(非常详细),当你准备自学前请先看看这篇文章。

    0X00 前言 本文声明:学习方式是半自学的方式,本文为你提供资料和学习计划安排,能学的怎么样,取决于你自己的努力和花费在这个上面的时间和精力! 真正厉害的黑客,基本上都是自学成才,需要不懈的坚持努力 ...

  6. mysql grant all on_mysql 赋给用户权限 grant all privileges on

    遇到了 SQLException: access denied for  @'localhost' (using password: no) 解决办法   grant all privileges o ...

  7. mysql赋予权限的时候报错_用grant命令为用户赋权限以后,登录时,出现:ERROR 1045 (28000)...

    ERROR 1045(28000)信息是因为权限的问题.这个ERROR分为两种情况: 第一种: ERROR 1045 (28000): Access denied for user 'root'@'l ...

  8. mysql grant 不想让用户看到 系统默认 mysql_MYSQL用户权限管理GRANT使用

    GRANT语句的语法: mysql> grant 权限1,权限2,-权限n on 数据库名称.表名称 to 用户名@用户地址 identified by "连接口令"; 看上 ...

  9. mysql grant查看用户权限命令

    本文章来给大家总结一些常用的来查看mysql用户权限命令的一些方法总结,在mysql中查看用户权限命令是show grants for了,下面我来详细介绍grants这个命令,有需要了解的朋友可参考. ...

最新文章

  1. html网页文件的主体标记,HTML的填空题:1.HTML文件中网页文件的主体标记是_________,标记页面标题的标记是_____________。如题 谢...
  2. springmvc的工作原理_SpringMVC工作原理
  3. 计算机组成原理验证JRNS,计算机组成原理(上)第4章 测试(中)
  4. 从open系统调用的源码看文件的打开过程
  5. 使用Python连接数据库的脚本
  6. 双目相机--双目视差与深度距离关系推导详解
  7. linux: kill -9
  8. Linux上通过SUU更新Dell服务器固件
  9. 一个demo学会c#
  10. OpenCV(三) 图像的读取和显示
  11. windows核心编程第一章阅读
  12. 博弈论个人的一点小总结
  13. NAT穿透技术简介和实现方案分析
  14. Scratch3.0创意编程(基础篇):第11课 智能小车
  15. 百度echart世界各国及国内省市经纬度坐标
  16. 锤子手机图片,音频,视频在哪个文件夹
  17. BeyondCompare的三种破解方法
  18. cacti监控java_cacti监控windows服务器
  19. 苹果cmsv10仿bt部落天堂简约好看的自适应免费模板
  20. 每秒上万并发下的Spring Cloud性能优化之道

热门文章

  1. react中城市选择器组件
  2. net 服务端接口 存储,发送 app短信验证码
  3. agilent VISA项目开发小记
  4. 51单片机的入门知识(献给初学者最易懂的文章)更新篇
  5. 2006世界杯32强人体彩绘队服样式(德国)
  6. Connection reset
  7. PCB板“ESD保护电路设计”9大措施,拿来吧你!
  8. mysql精确到毫秒_mysql 时间类型精确到毫秒、微秒及其处理
  9. C++ activemq CMS 学习笔记
  10. 2018年重塑科技行业的15个趋势之(11-15)