数据库—安全性控制DCL
授予数据库权限
这里的用户是指数据库DBMS中创建的用户,而不是程序中的账户用户。
- 授予某个/多个表的某一个/多个权限
- public代表所有用户
grant select 表名 to public就代表授予所有用户对于这个表的select权限。以此类推,其他权限也一样。
//给用户授予查询某个表的权限
grant select
on 表名
to 用户1,用户2,...
//给用户授予更新某个表的权限
grant update
on 表名
to 用户1,用户2,...
//给用户授予某个表的插入信息权限
grant insert
on 表名
to 用户1,用户2,...
//给用户授予某个表的增加删除修改信息权限
grant insert,delete,update
on 表名
to 用户1,用户2,...
//给用户授予多个表的增加删除修改信息权限
grant insert,delete,update
on 表名1,,表2,...
to 用户1,用户2,...
//授予有关于这个表的其中一个或者几个属性的权限给这个用户
grant delete(属性1,,属性2,...)
on 表名
to 用户1,用户2,...
//还能混合授予
grant delete(属性1,属性2...),update,...
on 表名
to 用户1,用户2,...
.
.
.
- 授予所有权限,all privileges(其实与上面的意思都一样,只是将权限范围修改一下罢了)
//授予有关于某个/多个表的所有权限给这个用户
grant all privileges
on 表1,表2,...
to 用户1,用户2,...
//授予有关于这个表的其中一个或者几个属性的所有权限给这个用户
grant all privileges(属性1,属性2...)
on 表名
to 用户1,用户2,...
.
.
.
授予用户能够授予其他用户的权限
只需要在上述代码的后面加上with grant option即可,下面只用一个例子
- 注意:比如授予select权限给用户后他继续授予其他用户的时候只能够授予select或者比这个更小的权限比如只能够select某个列,其他权限也一样的规定。
grant select
on 表名
to 用户1,用户2,...
with grant option
收回权限
- 如果想要收回用户的某个权限,并且这个用户有权限继续授予别人权限,然后这用户也确实授予了其他用户权限的时候,这个用户的权限一旦被收回,他授予其他人的都一同被收回(我觉得这个设计的挺好的,非常贴合符合现代社会思维)
//收回所有权限
//收回用户对表的权限
revoke grant select/update/...权限范围
on 表1,表2,....
from 用户1,用户2,...
//收回用户对表中某个列的权限
revoke grant elect/update/...权限范围(属性1,属性2...)
on 表名
from 用户1,用户2,...
.
.
.
数据库的权限(特殊)
- 授予该用户在这数据库中建立表的权限
grant createtab
on database 数据库名
to 用户,...
- 回首数据库创建表权限
revoke createtab
from 用户,...
数据库—安全性控制DCL的更多相关文章
- Oracle数据库安全性设计
一.什么是安全的系统 安全性建设是一个长期并且卓绝的工作.作为一个符合标准的企业级系统,我们认为税务系统应该具备以下的安全性特点: ◆高可用性 ◆对敏感数据的访问控制能力. ◆监测用户行为的审计能力. ...
- Atitit。数据库 安全性 重要敏感数据加密存储解决方案
Atitit.数据库 安全性 重要敏感数据加密存储解决方案 1.1. 加密存储的重要性1 1.2. 使用的加密算法aes1 1.3. 数据加密以后会有一些问题.1 1.3.1. 一个是统计,比如统计资 ...
- RMAN数据库恢复之控制文件和参数文件恢复
一.控制文件的恢复1.查询控制文件的路径 SQL> SELECT * FROM V$CONTROLFILE; STATUS NAME IS_RECOVERY_DEST_FILE BLOCK_SI ...
- SQL语句(二十)—— 数据库安全性
数据库安全性 1. SQL Server 配置管理器 => 网络配置 MSSQLSERVER 协议,如果应用程序和SQL Server 在同一机器上,仅使用 Shared Memory (共享 ...
- IDEA对数据库、表、记录的(增删改查可视化操作)、数据库安全性问题的演示
对数据库的增删改查 新增数据库 修改数据库 删除数据库 对表的增删改查 新增表 修改表 删除表 对记录的增删改查 数据库安全性问题的演示 演示脏读 一个事物里面读到了另外一个事物没有提交的数据: ...
- 数据库基础之一--DDL(数据库定义语言),DCL(数据库控制语言)
Mysql是一个非常典型的C/S结构的应用模型,所以Mysql连接必须依赖于一个客户端或者驱动. 在linux中支持两种连接模式:TCP/IP模式和socket SQL语句的四部分: DDL:数据定义 ...
- Oracle数据库——数据库安全性管理
一.涉及内容 1.验证系统权限管理. 2.验证角色管理. 3.验证概要文件管理. 二.具体操作 (一) 1.根据以下要求进行系统权限的授予与回收操作. (1)创建用户user1,并为它授予create ...
- 数据库安全性操作——操作原则及SQL注入
转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/6893134.html 今天在进行支付宝开发时,看到支付宝开发文档<开放平台第三方应用安全开发指南> ...
- (Les16 执行数据库恢复)-控制文件恢复
测试丢失所有控制文件恢复[20180517] rman target / show all; configure channel 1 device type disk format ' ...
- C#向Sql数据库插入控制
string name = textBox1.Text; int age = Convert.ToInt32(textBox2.Text.Trim()); ? null : (int?)Convert ...
随机推荐
- ecplice 如何智能提示(旧)
前言 从my老博客迁移过来的. 正文 1.java智能提示 (1). 打开Eclipse,选择打开" Window - Preferences". (2). 在目录树上选择&quo ...
- spring boot properties 编码问题[四]
情景 application.properties 中: server.port=8081 person.last-name=张三 person.age=18 person.birth=2017/12 ...
- Pytorch-tensor维度的扩展,挤压,扩张
数据本身不发生改变,数据的访问方式发生了改变 1.维度的扩展 函数:unsqueeze() # a是一个4维的 a = torch.randn(4, 3, 28, 28) print('a.shape ...
- 代码写错分支,如何提交到另一个分支上【Git把当前分支上的修改转移到另一个分支上】
Git把当前分支上的修改转移到另一个分支上: 1.先在当前分支commit 2.获取本次commit的ID(会获取到一个长id如:ae71cfaf9e865682e2c008aa867e8fbef7a ...
- Linux 安装 adb环境
一. 查看系统是否安装有adb adb或者adb version 二.通过apt-get安装adb 1. 安装adb sudo apt-get install android-tools-adb 2. ...
- eclipse 卡顿的优化办法
1. 关闭校验 2. 关闭插件自动升级 3.关闭界面设置的一些选项
- 对中间件概念的理解,如何封装 node 中间件
一.是什么 中间件(Middleware)是介于应用系统和系统软件之间的一类软件,它使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享.功能共享的目的 在 ...
- HL7简介
HL7是特定于医疗保健的标准组织,其主要重点是创建一组定义的国际消息传递标准,以支持应用程序和设备之间的互操作性和通信.这些消息标准可以分为三个主要的 HL7标准版本,HL7版本2(v2).版本3(v ...
- 力扣1773(java&python)-统计匹配检索规则的物品数量(简单)
题目: 给你一个数组 items ,其中 items[i] = [typei, colori, namei] ,描述第 i 件物品的类型.颜色以及名称. 另给你一条由两个字符串 ruleKey 和 r ...
- 无处不在的 Kubernetes,难用的问题解决了吗?
简介: 从第三方的调研数据看,容器和 Kubernetes 已经成为云原生时代主流的选择,但实际落地的时候,却陷入了困境.我们尝试去总结了一些共通点,以及应对方案,也许能为正在落地容器技术的企业提供 ...