42 | MySQL Grant赋权限(这篇文章可能没啥你想要的)
一、本篇直接进入主题吧~
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赋权限(这篇文章可能没啥你想要的)相关推荐
- Mysql Grant 用户权限总结(详细编)
MySQL 具体有哪些权限呢?相信好多人已经不记得了,此文章将解决你的问题,请看下图: MySQL权限图: 很明显总共27个权限:下面是具体的权限介绍: 一.权限表 mysql数据库中的3个权限表:u ...
- 面试官出的MySQL索引问题,这篇文章全给你解决!
原文链接:blog.ouyangsihai.cn >> MySQL的B 树索引的概念.使用.优化及使用场景 在看这篇文章之前,我们回顾一下前面的几篇关于MySQL的文章,应该对你读下面的文 ...
- 讲真,MySQL索引优化看这篇文章就够了
本文主要讨论MySQL索引的部分知识.将会从MySQL索引基础.索引优化实战和数据库索引背后的数据结构三部分相关内容,下面一一展开. 一.MySQL--索引基础 首先,我们将从索引基础开始介绍一下什么 ...
- MySQL索引优化看这篇文章就够了!
阅读本文大概需要 5 分钟. 来源:cnblogs.com/songwenjie/p/9410009.html 本文主要讨论MySQL索引的部分知识.将会从MySQL索引基础.索引优化实战和数据库索引 ...
- 黑客零基础入门教程(非常详细),当你准备自学前请先看看这篇文章。
0X00 前言 本文声明:学习方式是半自学的方式,本文为你提供资料和学习计划安排,能学的怎么样,取决于你自己的努力和花费在这个上面的时间和精力! 真正厉害的黑客,基本上都是自学成才,需要不懈的坚持努力 ...
- mysql grant all on_mysql 赋给用户权限 grant all privileges on
遇到了 SQLException: access denied for @'localhost' (using password: no) 解决办法 grant all privileges o ...
- mysql赋予权限的时候报错_用grant命令为用户赋权限以后,登录时,出现:ERROR 1045 (28000)...
ERROR 1045(28000)信息是因为权限的问题.这个ERROR分为两种情况: 第一种: ERROR 1045 (28000): Access denied for user 'root'@'l ...
- mysql grant 不想让用户看到 系统默认 mysql_MYSQL用户权限管理GRANT使用
GRANT语句的语法: mysql> grant 权限1,权限2,-权限n on 数据库名称.表名称 to 用户名@用户地址 identified by "连接口令"; 看上 ...
- mysql grant查看用户权限命令
本文章来给大家总结一些常用的来查看mysql用户权限命令的一些方法总结,在mysql中查看用户权限命令是show grants for了,下面我来详细介绍grants这个命令,有需要了解的朋友可参考. ...
最新文章
- html网页文件的主体标记,HTML的填空题:1.HTML文件中网页文件的主体标记是_________,标记页面标题的标记是_____________。如题 谢...
- springmvc的工作原理_SpringMVC工作原理
- 计算机组成原理验证JRNS,计算机组成原理(上)第4章 测试(中)
- 从open系统调用的源码看文件的打开过程
- 使用Python连接数据库的脚本
- 双目相机--双目视差与深度距离关系推导详解
- linux: kill -9
- Linux上通过SUU更新Dell服务器固件
- 一个demo学会c#
- OpenCV(三) 图像的读取和显示
- windows核心编程第一章阅读
- 博弈论个人的一点小总结
- NAT穿透技术简介和实现方案分析
- Scratch3.0创意编程(基础篇):第11课 智能小车
- 百度echart世界各国及国内省市经纬度坐标
- 锤子手机图片,音频,视频在哪个文件夹
- BeyondCompare的三种破解方法
- cacti监控java_cacti监控windows服务器
- 苹果cmsv10仿bt部落天堂简约好看的自适应免费模板
- 每秒上万并发下的Spring Cloud性能优化之道