【MySQL篇】授权:授权与回收

news2024/11/26 3:36:17

前言 

        SQL通过GRANTREVOKE语句实现向用户授予或收回对数据的操作权限。

        发出GRANT法人可以是数据库管理员、数据库对象创建者(即属主Owner)、拥有该权限并且可以传播的用户。

        SQL不允许循环授权。

权限与可执行的操作对照表
拥有的权限可否执行的操作
CREATE USERCREATE SCHEMACREATE TABLE登录数据库执行数据查询和操作
DBA可以可以可以可以
RESOURCE不可以不可以可以可以
CONNECT不可以不可以不可以可以,但是要拥有相应权限

1、授权

        GRANK :对指定操作对象(表、视图等)的指定操作权限(插入、删除等)授予指定的用户(user)。

一般格式为:

        WITH GRANT OPTION:如果指定该子句,则获得某种权限的用户可以把这种权限再授予其他的用户(可以传播该权限)。如果不指定该子句,则用户只能自己使用该权限,无法传播该权限。

 例1:把查询Student表的权限授予给用户U1,不允许其传播。

GRANT SELECT
ON TABLE Student
TO U1;

 

例2:把对Student表和Course表的全部操作授权给用户U2、U3,不允许其传播。

GRANT ALL PRIVILEGES
ON TABLE Student,Course
TO U2,U3;

例3:把对SC表的查询操作授权给所有用户,不允许其传播。

GRANT SELECT
ON TABLE SC
TO PUBLIC;

例4:把查询Student表和修改学生学号的权限授予给用户U4,允许其传播。

GRANT UODATE(Sno),SELECT
ON TABLE Student
TO U4
WITH GRANT OPTION;

        授予U4用户对表的某一列的更新权限,在授予时必须明确指出相应的属性列。且U4可以将获得的权限进行传播。

2、收回授权

        REVOKE:授予用户的权限可以由数据库管理员或其他授权者用REVOKE语句收回。

一般格式为:

 例1:把用户U1查询Student表的权限收回。

REVOKE SELECT
ON TABLE Student
FROM U1;

例2:收回所有用户对SC表的查询权限。

REVOKE SELECT
ON TABLE SC
FROM PUBLIC;

例3:收回U4对 Student表的查询权限。

REVOKE SELECT
ON TABLE Student
FROM U4 CASCODE;

 将U4的SELECT权限收回的同时,级联(CASDCODE)收回U4传播出去的权限(包括直接传播与间接传播)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1186499.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

day52

今日内容概要 web应用程序 手写web框架(帮助我们理解别人写好的成熟框架、重点在于思路的理解、代码无需掌握) Django框架的学习 Python中得主流框架 框架的下载、安装、版本、怎么启动、怎么使用等 三板斧问题 web应用程序 Django框架是一款专门用来开发web应用的框架 …

安卓学习记录

文章目录 Text_View基础属性字体阴影跑马灯**activity_main.xml**MyTextview button Text_View ctrl右键可以看到属性 代码整理采用的快捷键是ctrlaltL(电脑qq锁定快捷键&#xff0c;退一下qq就行了) 基础属性 字体阴影 <?xml version"1.0" encoding"utf-…

CSDN每日一题学习训练——Java版(逆序输出、Z 字形变换、输出每天是应该学习还是休息还是锻炼)

版本说明 当前版本号[20231108]。 版本修改说明20231108初版 目录 文章目录 版本说明目录逆序输出题目解题思路代码思路参考代码 Z 字形变换题目解题思路代码思路参考代码 输出每天是应该学习还是休息还是锻炼题目代码思路参考代码 逆序输出 题目 如&#xff1a;abcd1234&…

【Python 千题 —— 基础篇】录入学生信息

题目描述 题目描述 在开学时&#xff0c;需要录入学生的身份信息。每次在控制台输入学生身份证号&#xff0c;按下回车后录入新的信息。如果输入的身份证号已经录入过&#xff0c;需要提示 “该身份证号已录入” 并继续等待下一个输入。如果按下两次回车键&#xff0c;则结束…

软件测试/测试开发丨接口测试学习笔记,TcpDump与WireShark

点此获取更多相关资料 本文为霍格沃兹测试开发学社学员学习笔记分享 原文链接&#xff1a;https://ceshiren.com/t/topic/27859 协议分析工具 网络监听&#xff1a;TcpDump WireShark 代理 Proxy 推荐工具&#xff1a;手工测试charles [全平台]、安全测试burpsuite [全平台 j…

计算机毕业设计 基于SpringBoot的养老院管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

微信小程序:js实现不改变原数组的情况下增加一条对象到新数组中

效果 核心 old_array.slice(0) 表示对 old_array 这个数组进行切片操作&#xff0c;从索引 0 开始&#xff08;包括索引 0&#xff09;&#xff0c;直到数组的末尾&#xff0c;old_array.slice(0) 中的 0 表示开始切片的索引位置&#xff0c;而由于没有传入第二个参数&#xff…

SpringBoot进制转换规则问题

1.填写yml文件 dataSource:driver-class-name: com.mysql.jdbc.Driver789password: 01272.测试类 package com.forever;import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.test.context.Spri…

功能: 在web应用程序中、读取文件

通过使用文件 API&#xff0c;web 内容可以要求用户选择本地文件&#xff0c;然后读取这些文件的内容。这种选择可以通过使用 HTML <input type"file"> 元素或通过拖放来完成。 1.通过 click() 方法使用隐藏的文件 input 元素 你可以隐藏公认难看的文件 <…

投票助手图文音视频礼物打赏流量主小程序开源版开发

投票助手图文音视频礼物打赏流量主小程序开源版开发 图文投票&#xff1a;用户可以发布图文投票&#xff0c;选择相应的选项进行投票。 音视频投票&#xff1a;用户可以发布音视频投票&#xff0c;观看音视频后选择相应的选项进行投票。 礼物打赏&#xff1a;用户可以在投票过…

11、云服务器的宝塔面板安装、在宝塔安装MySQL、Redis、NGINX、JAVA

1►云服务器的宝塔面板安装 如果购买云服务器的时候&#xff0c;选择系统为宝塔面板&#xff0c;那么就不需要麻烦了。宝塔已经装好了。 但是如果没有选择宝塔面板&#xff0c;就需要手动安装。 第一步&#xff1a;点击重装系统 第二步&#xff1a;选择宝塔面板 宝塔面板官方…

javaScript爬虫程序抓取评论

由于评论区目前没有开放的API接口&#xff0c;所以我们不能直接通过编程获取到评论区的内容。但是&#xff0c;我们可以通过模拟浏览器的行为来实现这个功能。以下是一个使用Python的requests库和BeautifulSoup库来实现这个功能的基本思路&#xff1a; import requests from bs…

Python必知必会 os 模块详解

文章目录 Python os 模块os模块的常用操作os.path模块os.open()模块 ❤️ 作者简介&#xff1a;大家好我是小鱼干儿♛是一个热爱编程、热爱算法的大三学生&#xff0c;蓝桥杯国赛二等奖获得者&#x1f41f; 个人主页 &#xff1a;https://blog.csdn.net/qq_52007481⭐ 个人社区…

【嵌入式开发学习】__如何将BootLoader与APP合并成一个固件

目录 一、前言 二、传统方式 三、高效方式 1. 合并文件 2. bin转hex srec_cat工具 3. 完整示例 4. 举一反三 (*&#xffe3;︶&#xffe3;)创作不易&#xff01;期待你们的 点赞、收藏和评论喔。 一、前言 嵌入式固件一般分为 BootLoader 和 App&#xff0c;BootLo…

在Windows 10上安装单机版的Spark

一、Spark是什么 Spark是一种通用的大数据计算框架,是基于RDD(弹性分布式数据集)的一种计算模型。是专门为大数据处理而设计的通用的计算引擎。 二、Spark需要运行的环境 Spark需要scala作为运行环境 三、下载scala&#xff0c;并且配置环境变量 Scala官网:Install | The S…

C/C++大写字母的判断 2021年6月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析

目录 C/C大写字母的判断 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 C/C大写字母的判断 2021年6月 C/C编程等级考试一级编程题 一、题目要求 1、编程实现 输入一个字符&#xff0c;判断是否是英文大…

开源之夏经验分享|Dragonfly 社区 李从旺:社区贡献也是一种影响力

今天&#xff0c;我们邀请到了开源之夏 2023 活动 Dragonfly 社区的中选学生李从旺同学&#xff0c;他此次承担的项目是——「PyTorch Serve 基于 Dragonfly P2P 技术分发模型」。希望通过他的开源故事&#xff0c;能让更多人了解到开源的魅力&#xff0c;也可以从不同的视角去…

《视觉SLAM十四讲》-- 相机与图像

04 相机与图像 4.1 相机模型 4.1.1 针孔相机模型 针孔模型描述了一束光线通过针孔后&#xff0c;在针孔背面投影成像的关系&#xff08;类似小孔成像原理&#xff09;。 根据相似三角关系 Z f − X X ′ − Y Y ′ (3-1) \frac{Z}{f}-\frac{X}{X^{\prime}}-\frac{Y}{Y^{\p…

[架构之路-246]:目标系统 - 设计方法 - 软件工程 - 需求工程- 需求开发:获取、分析、定义、验证

目录 前言&#xff1a; 架构师为什么需要了解需求分析 一、需求工程概述 1.1 概述 1.2 需求工程的两大部分 &#xff08;1&#xff09;需求开发&#xff1a;系统工程师的职责、目标系统开发角度 &#xff08;2&#xff09;需求管理&#xff1a;项目管理者的职责、项目管…

Azure - 机器学习:使用自动化机器学习训练计算机视觉模型的数据架构

目录 一、用于训练的数据架构图像分类&#xff08;二进制/多类&#xff09;多标签图像分类对象检测实例分段 二、用于推理的数据格式输入格式输出格式图像分类多标签图像分类对象检测实例分段 了解如何设置Azure中 JSONL 文件格式&#xff0c;以便在训练和推理期间在计算机视觉…