新特性解读 | 部分权限回收功能的说明

MySQL CRUD操作实战指南与性能优化技巧 数据库CRUD操作是数据管理的核心基础,包括创建(Create)、读取(Read)、更新(Update)和删除(Delete)。这些操作通过SQL语句实现,其性能直接影响应用响应速度。在MySQL中,合理设计表结构、优化索引策略能显著提升查询效率,特别是在处理大数据量表时。实际工程中,批量操作替代循环单条处理、合理使用事务、避免长事务等都是关键优化点。电商、社交等互联网应用场景中,高效的CRUD操作能支撑高并发请求,而索引优化和查询重构则能解决80%的性能瓶颈问题。本文通过实战案例解析MySQL表设计与CR 阅读详情

作者:姚远

MySQL ACE,华为云MVP,专注于 Oracle、MySQL 数据库多年,Oracle 10G 和 12C OCM,MySQL 5.6,5.7,8.0 OCP。现在鼎甲科技任技术顾问,为同事和客户提供数据库培训和技术支持服务。

本文来源:原创投稿

* 爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。

背景

MySQL 数据库对于对象的操作级别分为:全局、数据库、表、字段等。粒度从粗到细。如果粗的粒度的权限满足了,将不再检验细粒度的级别,这种验证方式有的时候不方便,例如需要把 100 个数据库中除了某一个数据库外的访问权限赋予某个用户,需要进行 99 次赋权。

从 MySQL 8.0.16 开始,MySQL 推出了一种部分权限回收(Partial Revokes)的功能,可以将粗粒度赋予的权限在细粒度上回收。

实验

要使用这个功能需要将系统参数 partial_revokes 设置成 on,这个参数默认是 off,即默认不允许使用部分权限回收功能,在使用时会遇到下面的错误:

mysql> revoke select on mysql.* from scutech;
ERROR 1141 (42000): There is no such grant defined for user 'scutech' on host '%'

可以使用下面的命令将这个参数打开:

mysql> SET PERSIST partial_revokes = ON;
Query OK, 0 rows affected (0.00 sec)

下面的命令赋予用户 scutech 对除了 mysql 之外的所有数据库和下面的表的 select 权限:

mysql> grant select on *.* to scutech;
Query OK, 0 rows affected (0.04 sec)

mysql> revoke select on mysql.* from scutech;
Query OK, 0 rows affected (0.00 sec)

赋权完成后可以使用 show grants 命令进行检查:

mysql> show grants for scutech;
+-----------------------------------------------+
| Grants for scutech@%                          |
+-----------------------------------------------+
| GRANT SELECT ON *.* TO `scutech`@`%`          |
| REVOKE SELECT ON `mysql`.* FROM `scutech`@`%` |
+-----------------------------------------------+
2 rows in set (0.00 sec)

赋权完成后在 mysql.user 表里面的 User_attributes 会有 Restrictions 的属性:

mysql> select  User_attributes from mysql.user where user='scutech' and host='%';
+---------------------------------------------------------------------+
| User_attributes                                                     |
+---------------------------------------------------------------------+
| {"Restrictions": [{"Database": "mysql", "Privileges": ["SELECT"]}]} |
+---------------------------------------------------------------------+
1 row in set (0.00 sec)

回收部分权限回收功能可以再次赋予部分权限,例如:

mysql> grant SELECT ON `mysql`.* to scutech;
Query OK, 0 rows affected (0.01 sec)


mysql> show grants for scutech;
+--------------------------------------+
| Grants for scutech@%                 |
+--------------------------------------+
| GRANT SELECT ON *.* TO `scutech`@`%` |
+--------------------------------------+
1 row in set (0.00 sec)

也可以从粗粒度上回收权限,这样细粒度的回收当然没有必要存在了,例如:

mysql>  revoke  SELECT ON *.* from scutech;
Query OK, 0 rows affected (0.01 sec)

mysql> show grants for scutech;
+-------------------------------------+
| Grants for scutech@%                |
+-------------------------------------+
| GRANT USAGE ON *.* TO `scutech`@`%` |
+-------------------------------------+
1 row in set (0.00 sec)

说明:USAGE 这个权限等于什么权限也没有。

C++ 知识补充 向量(vector)是一个封装了动态大小数组的顺序容器(SequenceContainer)。跟任意其它类型容器一样,它能够存放各种类型的对象。可以简单的认为,向量是一个能够存放任意类型的动态数组。C++中map提供的是一种键值对容器,里面的数据都是成对出现的,如下图:每一对中的第一个值称之为关键字(key),每个关键字只能在map中出现一次;第二个称之为该关键字的对应值。 阅读详情

相关推荐

深入解读Linux内核V3.0:源码与机制全面剖析

Linux操作系统是现代计算机科学的一个奇迹,它不仅在个人电脑上广为流行,在服务器、嵌入式系统、超级计算机等领域也占据着重要的地位。这一切都归功于其内核,一个稳定、强大且易于定制的系统核心。Linux操作系统支持多种文件系统类型,每种类型都有其特定的设计和优化目标。常见的Linux文件系统包括ext4、XFS、Btrfs、ZFS等,它们各自有不同的特点和适用场景。ext4文件系统是Linux中广泛使用的文件系统之一,以其稳定性和成熟性著称,支持大容量存储和高效处理。

weixin_36369848的博客 1075

mysql的ace什么概念_ACE(03):努力了,总会有收获

分享了近一年的博客,得到了官方的认可,是件很开心的事,回想自己从想成为ACE、计划成为ACE、申请ACE,到如今进入Oracle视野,成为一名Oracle ACE Associate,也是一段蛮有意思的经历。我在经历了五年的职业调整,终于在OCM导师侯圣文、崔旭两位老师的教授下于2016年2月19日,成为OCM,然后才正是踏入DBA专业圈,专攻数据库这个行业。刚刚入行的我便决定向两位老师学习,于是...

weixin_42577735的博客 807

Python 3.7.3 AMD64安装包实战指南

随着编程语言的演进,Python作为IT界广受喜爱的语言之一,其每个新版本的发布都会引起广泛关注。Python 3.7.3作为2019年发布的版本,引入了一系列新的特性与优化,旨在为开发者提供更加强大、高效和便捷的编程体验。在深入探讨Python安装程序的自定义选项之前,需要先了解Python安装程序的架构和安装过程中的配置机制。自定义选项允许用户控制安装过程,为不同的使用场景和系统环境配置Python安装,从而达到最优化的效果。本章将详细分析这些配置选项,帮助你定制一个适合你需求的Python环境。

weixin_42511373的博客 1280

MySQL十几年沉浮,菜鸟如何成长为ACE?

请输入标题 bcdef有人的地方就有江湖,在数据库领域,一个个鲜活的社区就是这片江湖最早的样子,而老叶在MySQL江湖中沉浮了十余载,早已从初出茅庐的有志青年成长为了一代侠客。逛...

448

基于Zynq的便携式γ能谱仪设计与实现

数字多道分析器(DMCA)是核辐射能谱测量的核心设备,其本质是将探测器输出的模拟脉冲按幅度数字化分道,构建能量-计数分布曲线,从而支撑放射性核素识别与定量分析。其技术原理依赖高速采样、数字滤波成形、基线恢复与峰值提取等关键信号处理环节,具备高分辨率、优线性度与强抗干扰能力。在环境监测、核安全巡检与野外地质勘探等场景中,对低功耗、小型化、实时性提出严苛要求。本方案采用Xilinx Zynq-7020异构SoC架构,融合FPGA实时数字信号处理与ARM嵌入式控制,实现软硬协同优化,兼顾算法精度与工程落地性,为国

weixin_33173126的博客 190

5步搞定ABB机器人RobotStudio与S7-1500PLC的Profinet通讯(附PLCSIM调试技巧)

本文详细介绍了如何利用RobotStudio与TIA Portal软件,结合PLCSIM Advanced仿真器,在零硬件条件下实现ABB机器人与西门子S7-1500 PLC之间的Profinet通讯虚拟调试。通过五个核心步骤,从环境搭建、网络配置、信号映射到联合仿真与高级调试,帮助工程师在项目前期高效验证逻辑、压缩现场调试周期,并掌握实用的PLCSIM调试技巧。

weixin_29188043的博客 505

粗粒度和细粒度入门知识

从逻辑角度 對象的粒度就是對象所容納的邏輯,粗粒度容納的邏輯多,細粒度容納的邏輯少,粒度一般用在权限管理(解决了粗粒度的问题,因为这部分具有通用性,而细粒度可以看成业务部分,因为其具有不确定性) 从项目角度 根据项目模块划分的细致程度区分的,一个项目模块(或子模块)分得越多,每个模块(或子模块)越小,负责的工作越细,就说粒度越细,否则为粗粒度 举个例子:一个user类 其中有email属性 ,一个用户email很多个, 你可以用一个list来表示很多个email,也可以再设计一个email类,然

sinat_40701582的博客 3905

camera——HAL层知识分享

CameraHAL层是Android相机系统的核心中间层,负责连接Framework层与硬件驱动层。它通过标准化接口解耦软硬件,实现跨平台兼容性,同时为厂商提供硬件定制空间。主要功能包括:设备管理、数据流处理、参数控制以及图像优化。关键子系统涵盖预览、拍照、录像、对焦与曝光等模块,采用HAL3的"请求-响应"模型实现精细控制。性能优化重点关注启动时间、帧率稳定性和延迟控制。通过分层架构设计(接口层-核心层-适配层)和缓冲池机制,确保高效数据传输和硬件资源调度。

2302_77429403的博客 2069

细粒度、粗粒度

最近在阅读文献的过程中遇到了fine-grained和coarse-grained的概念,经过查阅其定义如下: 细粒度(fine-grained):粒度似乎根据项目模块划分的细致程度区分的,一个项目模块(或子模块)分得越多,每个模块(或子模块)越小,负责的工作越细,就说是细粒度。 粗粒度(coarse-grained):相对于细粒度而言,一个项目模块(或子模块)分得越少,每个模块(或子模块)越大,负责的工作越泛,就说是粗粒度。 粗粒度和细粒度是一个相对的概念,定义这个概念主要是出于重用的目的,比如:类

hl156的博客 1万+

MINI PCIE接口设计要点:

3.3Vaux(5pins):3.3V电源。PERST#信号通过外接复位电路,可实现模块复位。模块可以通过硬件方式或软件方式关闭射频通信(不包括 GNSS)。LED_WWAN#:(O)漏极开漏,低有效。:(I)低激活系统禁止射频信号(飞行模式),因此需加上拉。UIM_PWR (1 pin):(O)UIM的电源输出。SMB_DATA:SMBus2.0数据信号线。UIM_VPP:(O)A类设备的可变电源电压。SMB_CLK:SMBus2.0时钟信号线。UIM_RESET:(O)UIM的复位信号。

qq_40010777的博客 8238

QMT量化交易实战:如何用通达信预警数据自动买卖股票(附完整Python代码)

本文详细介绍了如何利用QMT平台结合通达信预警数据实现股票自动化交易,提供完整的Python代码实现。通过实时监控通达信预警板块文件,系统自动执行买卖操作,提升交易效率。文章涵盖系统架构设计、数据对接、信号处理、订单执行等核心模块,适合量化交易初学者和通达信用户参考实践。

weixin_29251567的博客 677

mysql 逻辑备份工具_关于mysql:技术分享-MySQL史上最快逻辑备份工具

作者:洪斌爱可生南区负责人兼技术服务总监,MySQL ACE,善于数据库架构布局、故障诊断、性能优化剖析,实践经验丰盛,帮忙各行业客户解决 MySQL 技术问题,为金融、运营商、互联网等行业客户提供 MySQL 整体解决方案。本文起源:转载自公众号-玩转MySQL*爱可生开源社区出品,原创内容未经受权不得随便应用,转载请分割小编并注明起源。MySQL Shell 8.0.21 减少了一种新的逻辑...

weixin_39832965的博客 195

知识推理——TransE(知识表示、知识嵌入)

知识图谱嵌入/表示方法 TransE

missyoudaisy的博客 1831

mysql最细粒度的权限是什么_新特性解读 | 部分权限回收功能的说明

作者:姚远MySQL ACE,华为云MVP,专注于 Oracle、MySQL 数据库多年,Oracle 10G 和 12C OCM,MySQL 5.6,5.7,8.0 OCP。现在鼎甲科技任技术顾问,为同事和客户提供数据库培训和技术支持服务。本文来源:原创投稿* 爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。背景MySQL 数据库对于对象的操作级别分为:全局、数据库、...

weixin_30895059的博客 371

嵌入式存储实战:FAL+SFUD+flashDB三件套在STM32上的完整移植指南(附避坑技巧)

本文提供了一套在STM32上完整移植FAL、SFUD与flashDB嵌入式存储框架的实战指南。详细解析了从SPI驱动配置、SFUD设备识别、FAL抽象层分区到flashDB键值数据库初始化的全流程,并分享了关键的避坑技巧与性能优化建议,帮助开发者构建稳定可靠的嵌入式存储系统。

rnn9storyteller的博客 1015

硬核干货|C#+EtherCAT协议:高精度多轴伺服运动控制通信实战

本文摘要: 文章聚焦工业自动化领域多轴伺服运动控制的高精度与实时性需求,基于C#与EtherCAT协议实现完整解决方案。EtherCAT凭借微秒级同步、分布式架构等优势成为首选,而C#通过优化GC策略和实时线程可满足工业控制要求。文章从工程落地角度,详细拆解EtherCAT的PDO/SDO通信机制与多轴同步控制逻辑,提供完整的C#代码实现(主站初始化、伺服配置、运动控制等),所有代码均通过汇川/松下伺服实测验证。核心亮点包括:纯C#原生开发、工业现场高频问题解决方案、硬件适配指南,帮助开发者快速掌握高精度多

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 576

Java 15 正式发布, 14 个新特性,刷新你的认知!!

JDK 15 2020/09/15 如期而至! 这个时间牛逼啊,和苹果发布会同天? OracleJDK 15 发布地址: https://www.oracle.com/java/technologies/javase/15all-relnotes.html OpenJDK 15 发布地址: https://openjdk.java.net/projects/jdk/15/ OracleJDK 和 OpenJDK 两者的区别这里不撰述了,不清楚的请点击这里进行查看。 现在的 JDK

lisheng19870305的专栏 529

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Oracle - 序列的创建与使用,实现自增字段功能

Oracle 序列的创建与使用,实现自增字段功能 本文全面介绍了在Oracle数据库中通过序列(Sequence)实现自增字段功能的完整指南,主要内容包括: 序列基础:Oracle序列是独立数据库对象,可按规则生成唯一递增数值。核心特性包括原子性、缓存机制、可重置性和跨表复用能力。 创建序列:详细解析CREATE SEQUENCE语法,包括START WITH、INCREMENT BY、MAXVALUE等参数,并给出生产环境最佳实践示例。 使用序列:展示在INSERT语句、PL/SQL块中的实际应用,解释N

千淘万漉虽辛苦,吹尽狂沙始到金 1万+

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

mcp-use v2 重构解读:MCP 无状态化与客户端实践

模型上下文协议(MCP)为LLM应用连接外部工具提供了标准化方案,但其早期实现依赖有状态长连接,在云原生场景下暴露出会话管理复杂、扩展困难等痛点。无状态设计通过让每次请求自包含上下文,使服务端不再保存隐式状态,从而天然适配Serverless与负载均衡,成为MCP规范演进的重要方向。这种设计将上下文序列化与认证管理等复杂性转移至客户端,因此客户端库需要彻底重构以摆脱旧有状态假设。mcp-use v2正是基于2026-07-28 stateless规范从零重建的客户端库,本文解析其设计思路、调用流程与多Ser

weixin_30352191的博客 353

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

systemd服务配置文件.service的配置项说明

service 服务配置文件是 systemd 初始化系统的核心组件,用于定义 Linux 服务的启动、运行和管理行为。.service文件定义‌单个服务的行为与管理规则‌,配置文件包含三个主要区块,以下是各配置项的详细说明:‌‌ 服务的简短描述(如 ),用于日志和管理命令中的标识。‌‌‌ 服务文档链接(如手册页或在线文档),例如 。‌‌ / ‌‌ / ‌‌‌ 定义冲突服务(如 ),冲突服务运行时当前服务无法启动。‌‌启动顺序控制‌: - :指定当前服务在哪些目标/服务‌之后启动‌(如 )

zhaominyong的专栏 805

用AWS Bedrock API验证Fable 5.1:从模型目录查询到权限配置

在云服务生态中,模型目录是开发者发现和选择AI能力的第一道入口。AWS Bedrock作为托管基础模型服务,其API返回的模型列表并非简单的静态清单,而是蕴含了区域可用性、生命周期状态和权限边界等多层动态信息。当开发者看到某个新模型名称出现在目录中时,需要意识到这只是开始,真正的验证要依靠只读接口查询和精确的CLI命令。通过AWS CLI的list-foundation-models命令或boto3脚本,可以过滤并定位特定模型ID,同时结合IAM权限配置确认调用可行性。这种工程化验证路径不仅适用于Fable

weixin_29261711的博客 291

灵魂一问:一个Java文件的执行全部过程你确定都清楚吗?

牛啊!长这么大还是头一次见24W字的SpringBoot从入门到实战文档 2021-07-24 07:11·程序员高级码农II 牛啊!长这么大还是头一次见24W字的SpringBoot从入门到实战文档! 不服还真不行,因为这份文档包含的内容是又全又新,而且还特别高深,从入门到实战的内容全都有!! 继续往下看: 本文档从Spring Boot框架基础及IoC与AOP原理;Spring MVC基础知识;Spring Boot的搭建与配置;Spring Boot的数据访问,包括MySQL、Re

wdjnb的博客 220

上月成功拿到阿里巴巴offer,全靠我啃烂了这份Android面经

Android架构学习进阶是一条漫长而艰苦的道路,不能靠一时激情,更不是熬几天几夜就能学好的,必须养成平时努力学习的习惯。所以:贵在坚持!上面分享的字节跳动公司2020年的面试真题解析大全,笔者还把一线互联网企业主流面试技术要点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。就先写到这,码字不易,写的很片面不好之处敬请指出,如果觉得有参考价值的朋友也可以关注一下我。

2401_83977357的博客 600

AI时代Java程序员的核心竞争力:JVM调优、并发编程与MySQL深度优化

在软件开发领域,理解底层原理和系统性能优化是工程师的核心价值。从计算机科学基础概念出发,程序运行时的内存管理、并发控制与数据库操作是构建高可用系统的关键技术支柱。JVM(Java虚拟机)作为Java应用的运行环境,其内存模型与垃圾回收机制直接决定了应用的稳定性和吞吐量;并发编程涉及多线程协同与数据一致性,是应对高并发场景的基石;而MySQL等关系型数据库的索引原理、事务隔离与锁机制,则是保障数据准确性与查询效率的关键。这些深度知识构成了解决线上复杂问题(如内存泄漏、死锁、慢查询)的能力,也是当前企业技术选型

weixin_33888907的博客 425

移动开发趋势解析:从硬件平台期到微信小程序与Unity生态的实战指南

移动开发领域正经历从硬件创新放缓向软件体验深耕的转变。其核心原理在于,随着智能手机硬件性能进入平台期,技术创新的焦点从单纯的硬件参数比拼,转向了系统底层优化、应用交互细节和跨平台生态融合。这一转变的技术价值在于,它促使开发者更加关注性能优化、隐私安全与用户体验的深度融合,从而在存量市场中构建竞争壁垒。当前,移动开发的应用场景已高度泛化,涵盖了从超级App(如微信)的微创新、Android系统权限适配,到Unity引擎在游戏、数字孪生等领域的跨界应用。本文聚焦于微信小程序开发中的常见报错排查、Android

weixin_33922672的博客 343
上一篇: 第31问:慢日志觉得一个 SQL 很慢,但 binlog 不这么觉得,怎么办?
下一篇: 技术分享 | EXPLAIN 执行计划详解(2)--Extra
爱可生开源社区
博客等级 码龄8年 1936粉丝 1004原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值