MySQL45讲(一)(42)

server/2024/9/23 10:24:33/

该节是有关于数据库权限的文章

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

给与用户'ua'@'%'最高的权限

revoke all privileges on *.* from 'ua'@'%';

回收所有权限

注意一点,已经存在的连接是不会有全部权限的的,因为在创建连接的时候,该用户还没有被修改权限

这些权限只能之后的连接进行连接时才能进行权限

grant命令修改了两个

一个是磁盘里面的mysql.db表里面的一行记录的权限字段设置为全是'Y'

还有一个就是内存中增加对象到acl_dbs中,对应的权限位全为1

如果你使用的是revoke super对于用户权限进行清空的话,已经建立起来的用户是并不会收到影响的,除非断开连接进行重连,如果需要马上删权限的话,那么就需要进行revoke all privileges这样的话就会对于acl_dbs的对象数组进行更新,然后因为对于用户权限都是先要对于这张表进行查阅的,所以说明权限直接被清空

还有一个特点就是,对于库的权限,只要你进行了,那么会话就会保留,只要你不退出,你对于库的权限就一直都在

mysql还支持表权限和列权限,mysql.tables_priv 和mysql.columns_priv

这里对于flush privileges进行一个解析,这句话的作用是对于内存中的acl_dbs进行清空,然后就可以让你对于数据库的权限进行重新加载,所以一般情况下,使用了grant/revoke之后并不需要对于flush privileges命令进行使用

如果你是用delete对于数据表进行直接修改,那么实际磁盘中的数据表已经不存在,但是内存中认为还存在,登录还是可以登录,但是实际已经没有了,应为判定是否可以登录是在acl_dbs里面进行判断的

然后就会出现神奇的一幕,如果你给这个用户添加权限会出现用户不存在,然后你添加这个用户就会出现用户存在的离奇事件,这就是内存和磁盘的权限不同意造成的

这个时候就需要flush privileges来进行对于acl_dbs的内存进行清空

对于删除表,使用drop可以同时操作磁盘和内存


http://www.ppmy.cn/server/32311.html

相关文章

AcWing 850. Dijkstra求最短路 II

Problem: AcWing 850. Dijkstra求最短路 II 文章目录 思路解题方法复杂度Code 思路 这是一个经典的 Dijkstra 算法问题,我们需要找到从点 1 到点 n 的最短路径。Dijkstra 算法是一种贪心算法,它总是选择当前未访问过的节点中距离最短的一个,然…

计算机——磁盘

磁盘介绍 磁盘(Disk)是计算机存储设备的一种,用于持久存储和读取数据。它以圆盘状的物理结构为基础,通过磁性材料在盘片上制造磁道和磁点,利用磁头来读写数据。 磁盘分类 磁盘的常见类型包括硬盘驱动器(…

vivado Aurora 8B/10B IP核(12)- Setp By Step搭建FPGA工程

Step1:任意创建一个新的空的工程(创建工程的具体工程如果还不清楚的看我们教程第一季部分), 并且进入IP CORE列表 右击Customize ip Step2:配置 IP CORE-Core options Step3:配置 IP CORE-GT Selections Step4:配置 IP CORE-Shared Logic 为 …

极简shell制作

🌎自定义简单shell制作 (ps: 文末有完整代码) 文章目录: 自定义简单shell制作 简单配置Linux文件 自定义Shell编写 命令行解释器       获取输入的命令       字符串分割       子进程进行进程替换 内建命令…

Linux---软硬链接

软链接 我们先学习一下怎样创建软链接文件,指令格式为:ln -s 被链接的文件 生成的链接文件名 我们可以这样记忆:ln是link的简称,s是soft的简称。 我们在下面的图片中就是给test文件生成了一个软链接mytest: 我们来解…

【 书生·浦语大模型实战营】作业(六):Lagent AgentLego 智能体应用搭建

【 书生浦语大模型实战营】作业(六):Lagent & AgentLego 智能体应用搭建 🎉AI学习星球推荐: GoAI的学习社区 知识星球是一个致力于提供《机器学习 | 深度学习 | CV | NLP | 大模型 | 多模态 | AIGC 》各个最新AI方…

频谱模拟器

频谱模拟器,特别是模拟频谱仪,是一种基于特定原理的频谱分析工具。以下是对其的详细介绍: 工作原理: 模拟频谱仪的工作原理主要基于频率转换原理,包括两个关键步骤:信号混频和滤波分析。 信号混频&#xf…

【Java从入门到精通】Java 异常处理

在 Java 中,异常处理是一种重要的编程概念,用于处理程序执行过程中可能出现的错误或异常情况。 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。 比如说,你的代码少了一个分号&…