当前位置: 首页 > news >正文

【MySQL篇】数据库角色

前言

        数据库角色是被命名的一组与数据库操作相关的权限,角色是权限的集合。因此,可以为一组具有相同权限的用户创建一个角色,使用角色来管理数据库权限可以简化授权的过程。

CREATE ROLE:创建一个角色

GRANT:给角色授权

REVOKE:收回角色的权限

WITH ADMIN OPTION:如果指定该子句,则获得某种权限的角色或用户还可以把这种权限再授予其他角色。

1、角色的创建

 一般格式:CREATE ROLE <角色>

例子: 

CREATE ROLE R1;

刚刚创建的角色是空的,没有任何权限,需要GRANT进行授权。

2、给角色授权

一般格式: 

7be075fd47bd4b77a33055a8fcb7bc72.png

 数据库管理员和用户可以利用GRANT语句将权限授予某一个或几个角色。

 

3、将一个角色授予其他的角色或用户

(1)将一个角色授予其他角色

一般格式:

GRANT <角色>[,<角色>]...
TO <角色>...
[WITH ADMIN OPTION]

 例子:

将角色R1授予角色R2,且不可传播。

GRANT R1
TO R2;

将角色R1授予角色R3,可以传播

GRANT R1
TO R3
WITH ADMIN OPTION;

(2)将一个角色授予用户

GRANT <角色>[,<角色>]...
TO <用户>...
[WITH ADMIN OPTION]

例子:

 将角色R1授予用户U1,且不可传播。

GRANT R1
TO U1;

将角色R1授予用户U2,可以传播。

GRANT R1
TO U2
WITH ADMIN OPTION;

4、角色权限回收

一般格式:

REVOKE <权限> [ , <权限>]...
ON <对象类型> <对象名>
FROM <角色> [,<角色>] ...

例子:将角色R1查询Student表的权限收回。

REVOKE SELECT
ON TABLE Student
FROM R1;

 

 

相关文章:

【MySQL篇】数据库角色

前言 数据库角色是被命名的一组与数据库操作相关的权限&#xff0c;角色是权限的集合。因此&#xff0c;可以为一组具有相同权限的用户创建一个角色&#xff0c;使用角色来管理数据库权限可以简化授权的过程。 CREATE ROLE&#xff1a;创建一个角色 GRANT&#xff1a;给角色授…...

c++ 信奥赛编程 2050:【例5.20】字串包含

#include<iostream> #include<cstring> using namespace std; int main() {string str1,str2;int temp;cin>>str1>>str2;//判断长度 if(str1.size()<str2.size()){ swap(str1,str2); //交换内容 }str1str1str1; //AABCDAABCDAABCDAABCDif(str…...

用dbeaver创建一个enum类型,并讲述一部分,mysql的enum类型的知识

写这个博客的目的就是我在网上看了半天&#xff0c;发现没有这方面的知识&#xff0c;也许是老手认为这个太简单了&#xff0c;不过我还是告诉新人使用dbeaver来创建一个enum类型的方法&#xff1a; 就是enum("a","b","name") 第一步用dbeaver…...

Paste v4.1.2(Mac剪切板)

Paste for Mac是一款运行在Mac OS平台上的剪切板小工具&#xff0c;拥有华丽的界面效果&#xff0c;剪切板每一条记录可显示&#xff08;预览&#xff09;文本&#xff0c;图片等记录的完整内容&#xff0c;可以记录最近指定条数的剪切板信息&#xff0c;方便用户随时调用&…...

事件绑定-回调函数

1.事件的概念 2.小程序常用的事件集 2.1 bindtap 点击回调事件方法 2.1.1语法格式 2.1.2 事件处理中调用data 使用setDatacount&#xff1a;这种方式 直接使用this.data.count 2.1.3 事件处理中传参 错误示范&#xff1a; 传递方式&#xff1a;数值用{{}}&#xff0c;直接引…...

Makefile 总述

目录 一、Makefile 里有什么&#xff1f; 1、显式规则 2、隐晦规则 3、变量的定义 4、文件指示 5、注释 二、Makefile 的文件名 三、引用其它的 Makefile 四、环境变量 MAKEFILES 五、make 的工作方式 一、Makefile 里有什么&#xff1f; Makefile 里主要包含了五个东…...

写给新用户-Mac软件指南篇:让你的Mac更好用

用了macOS也有小四年了&#xff0c;今天打算分享一下Mac上的常用软件&#xff0c;说不上精通&#xff0c;但也算是有一些心得体会。平时也会定期对软件做整理&#xff0c;所以有了这篇文章。如果能帮到刚刚接触macOS或正在寻觅软件的你&#xff0c;那当然再好不过了。 软件推荐…...

03运算符综合

03 3.1.1算数运算符 3.1.2赋值运算符 3.1.3比较&#xff08;关系&#xff09;运算符 3.1.4逻辑运算符 3.1.5位运算符 3.2运算符的优先级 3.3条件表达式...

LeetCode刷题--思路总结记录

23-11-08每日一题&#xff1a;2609.最长平衡子字符串 链接&#xff1a;2609.最长平衡子字符串 总体思路&#xff1a; 平衡字符串要求“字符串前半段的0和后半段的1个数相同” > 分别记录0和1的计数结果&#xff0c;并最终取二者的最小值2字符串必须0开头&#xff0c;1结束 …...

Nodejs

node是运行js的环境 node 基础命令 // 初始化 // npm init // npm init -y// 全部选择yes // 安装包 // npm install 包名 // npm i// 安装package-lock.json里面所有的包到node_modules // npm i 包名// 安装当前最新版&#xff0c; // npm i 包名版本号//指定版本安装 // n…...

【面经】spring,springboot,springcloud有什么区别和联系

Spring、SpringBoot、SpringCloud都是Java开发中的重要框架&#xff0c;它们的作用和区别如下&#xff1a; Spring&#xff1a;是一个轻量级的开源框架&#xff0c;是为解决企业应用开发的复杂性而创建的。它提供了AOP&#xff08;面向切面编程&#xff09;和Ioc&#xff08;控…...

SpringBoot Kafka消费者 多kafka配置

一、配置文件 xxxxxx:kafka:bootstrap-servers: xx.xx.xx.xx:9092,xx.xx.xx.xx:9092consumer:poll-timeout: 3000key-deserializer: org.apache.kafka.common.serialization.StringDeserializervalue-deserializer: org.apache.kafka.common.serialization.StringDeserializer…...

git 标签相关命令

要在本地仓库中添加标签&#xff0c;你可以使用以下命令&#xff1a; git tag <tag_name> 这将在当前所处的提交上创建一个轻量级标签&#xff08;lightweight tag&#xff09;。如果你想要创建一个带有附注信息的标签&#xff0c;可以使用 -a 选项&#xff1a; git t…...

我在Vscode学OpenCV 图像运算(权重、逻辑运算、掩码、位分解、数字水印)

文章目录 权重 _ 要求两幅图像是相同大小的。[ 1 ] 以数据说话&#xff08; 1&#xff09; 最终&#xff1a;&#xff08; 2 &#xff09;gamma _输出图像的标量值 [ 2 ] 图像的展现力gamma并不等同于增加曝光度&#xff08; 1 &#xff09;gamma100&#xff08; 2 &#xff09…...

【 Docker: 数据卷挂载】

背景 Docker只提供了容器运行的必备依赖&#xff0c;但是一些编辑等操作的依赖是不支持的&#xff0c;如vi操作容器内部文件、将静态资源拷贝到容器内来等。 docker pull nginx docker run -d -p 81:80 --namemynginx -v D:/docker/nginx/www:/usr/share/nginx/www -v D:/dock…...

windows上的静态链接和动态链接的区别与作用(笔记)

C源代码文件经过预编译、编译和汇编后输出的目标文件的后缀和操作系统是有关系的。不同的操作系统使用不同的命名约定和文件格式来表示目标文件。常见的目标文件后缀包括&#xff1a; - Windows系统&#xff1a;.obj、.lib、.dll - Linux系统&#xff1a;.o、.a、.so - macOS系…...

MySQL和Postgresql数据库备份和恢复

MySQL和Postgresql数据库备份和恢复 一、MySQL数据库备份 备份单个数据库 $ mysqldump -uroot -p bdname > dbname.sql备份多个数据库 $ mysqldump -uroot -p --databases dbname1 dbname2 ... > dbname.sql # 备份所有数据库 $ mysqldump -uroot -p --all-databases…...

使用MCU上的I2C总线进行传感器应用

使用MCU上的I2C总线进行传感器应用是嵌入式系统开发中常见的任务&#xff0c;本文将介绍在MCU上实现I2C总线传感器应用的相关技术和流程。 首先&#xff0c;I2C&#xff08;Inter-Integrated Circuit&#xff09;总线是一种常用的串行通信协议&#xff0c;用于连接多个设备&am…...

汽车标定技术(七)--基于模型开发如何生成完整的A2L文件(2)

目录 1. 自定义ASAP2文件 2. asap2userlib.tlc需要修改的部分 3. 标定量观测量地址替换 3.1 由elf文件替换 3.2 由map文件替换 3.3 正则表达式&#xff08;含asap2post.m修改方法&#xff09; 4.小结 书接上文汽车标定技术(五)--基于模型开发如何生成完整的A2L文件(1)-C…...

ZZ308 物联网应用与服务赛题第E套

2023年全国职业院校技能大赛 中职组 物联网应用与服务 任 务 书 &#xff08;E卷&#xff09; 赛位号&#xff1a;______________ 竞赛须知 一、注意事项 1.检查硬件设备、电脑设备是否正常。检查竞赛所需的各项设备、软件和竞赛材料等&#xff1b; 2.竞赛任务中所使用的…...

Video2X架构演进:从磁盘瓶颈到GPU内存流式处理的技术突破

Video2X架构演进&#xff1a;从磁盘瓶颈到GPU内存流式处理的技术突破 【免费下载链接】video2x A machine learning-based video super resolution and frame interpolation framework. Est. Hack the Valley II, 2018. 项目地址: https://gitcode.com/GitHub_Trending/vi/vi…...

内存计算与XBTorch框架:深度学习硬件加速新范式

1. 内存计算与深度学习加速器&#xff1a;突破冯诺依曼瓶颈的新范式在深度学习模型规模呈指数级增长的今天&#xff0c;传统计算架构的局限性日益凸显。作为一名长期关注AI硬件加速的研究者&#xff0c;我深刻体会到内存计算技术带来的变革潜力。这种技术最吸引我的地方在于它从…...

如何让GTNH科技整合包说中文:从语言障碍到流畅体验的完整指南

如何让GTNH科技整合包说中文&#xff1a;从语言障碍到流畅体验的完整指南 【免费下载链接】Translation-of-GTNH GTNH整合包的汉化 项目地址: https://gitcode.com/gh_mirrors/tr/Translation-of-GTNH 你是否曾经面对GTNH&#xff08;GregTech: New Horizons&#xff09…...

从云平台控制台到命令行:详解阿里云/腾讯云CentOS 7.6数据盘挂载全流程(含分区方案选择)

从云平台控制台到命令行&#xff1a;详解阿里云/腾讯云CentOS 7.6数据盘挂载全流程&#xff08;含分区方案选择&#xff09; 当你第一次在阿里云或腾讯云控制台为CentOS 7.6实例购买了额外的云硬盘后&#xff0c;可能会困惑于如何让操作系统识别并使用这块磁盘。不同于物理服务…...

我劝你,别再无脑用 TeamViewer 和 ToDesk 了

远程办公、异地协助、帮家里人修电脑&#xff0c;这几年几乎成了很多人的日常需求。 以前大家图省事&#xff0c;装个 TeamViewer、ToDesk&#xff0c;登录一下就能连&#xff0c;确实方便。但时间一长&#xff0c;问题也越来越明显&#xff1a;• 免费版限制越来越多• 稍微用…...

手把手教你用Stellar Data Recovery Toolkit 11.0恢复虚拟机VMDK文件(附详细步骤)

手把手教你用Stellar Data Recovery Toolkit 11.0恢复虚拟机VMDK文件&#xff08;附详细步骤&#xff09; 当你在凌晨三点调试完最后一个虚拟机配置&#xff0c;正准备保存工作时&#xff0c;突然遭遇系统崩溃——这种场景对开发者而言无异于噩梦。VMDK文件损坏或误删导致的代码…...

别再让NaN和Infinity搞砸你的C++程序了!手把手教你用好std::isfinite()做数值校验

别再让NaN和Infinity搞砸你的C程序了&#xff01;手把手教你用好std::isfinite()做数值校验 在金融衍生品定价引擎的开发中&#xff0c;我曾目睹过一个由浮点数溢出引发的灾难性事故——某个交易日的波动率计算模块突然输出全零值&#xff0c;导致自动交易系统误判市场风险。事…...

公共安全监控:视频分析与人流密度检测算法

公共安全监控&#xff1a;视频分析与人流密度检测算法 随着城市化进程加快&#xff0c;公共场所的人流密度急剧增加&#xff0c;如何高效管理人群、预防安全事故成为重要课题。公共安全监控系统通过视频分析与人流密度检测算法&#xff0c;能够实时监测人群动态&#xff0c;为…...

纳米机器人群体智能:软件测试的微观边疆与范式挑战

对于软件测试从业者而言&#xff0c;纳米机器人群体智能并非遥远的科幻概念&#xff0c;而是一个正在到来的、将彻底重塑测试方法论、工具链与风险认知的颠覆性技术领域。当数以万计、尺寸在纳米级别的智能体被注入人体血管或精密工业管道&#xff0c;以群体协同的方式执行靶向…...

别再用老方法了!用Python+OpenCV搞定Kinect V2相机标定的保姆级避坑指南

Kinect V2相机标定实战&#xff1a;PythonOpenCV避坑全攻略 刚拿到二手Kinect V2的开发者常会遇到各种环境配置和标定问题。市面上许多教程要么依赖过时的库版本&#xff0c;要么省略关键步骤&#xff0c;导致新手在标定过程中频频踩坑。本文将用最新工具链带你完整走通从环境配…...