revoke语句

数据库中的revoke语句的级联和限制

这条语句的意思是把U!的权限收回, 同时也把U1给其他用户赋的权限也收回。

因为 U5可以转让insert权限

也就是以前执行的是:

GRANT insert on sc TO u5 With Grant Option

那么这个u5用户登录以后。

可以

GRANT insert on sc TO其它的用户。

revoke insert

on sc

from u5 cascade

目的是把给u5的权限回收回来, 同时把u5授权给其他用户的权限,也回收。

扩展资料:

在LAN连接中,通常引入WAN连接中的DCE/DTE概念,简单来说,DCE(数据通信设备)指的是交换机、网桥或集线器,DTE(数据终端设备)指的是PC、服务器或路由器。 通常DCE连接到DTE使用直通线缆;DCE连接到DCE、以及DTE连接到DTE使用交叉线缆。

如果一台DCE(或DTE)设备带有级联端口(例如交换机的UpLink端口),连接到另一台DCE(或DTE)设备,只需要使用直通线缆连接一台设备的级联端口和另一台设备的普通端口。当然,如果需要连接的两台设备都没有级联端口,就必须用交叉线缆连接这两台设备的普通端口。

.SQL语言的REVOKE语句实现下列哪一种数据控制功能

REVOKE 实现了 收回用户 指定权限的功能。 例如: revoke create table from user; –收回了user 建表的权限 revoke delete on scott.emp from user; –收回了user对scott用户emp表的删除权限。

与grant实现功能相反。

在mysql中,可以使用什么语句来实现权限的撤销

有两种方法,一种方法使用mysql的checktable和repairtable的sql语句,另一种方法是使用MySQL提供的多个myisamchk,isamchk数据检测恢复工具。前者使用起来比较简便。推荐使用。1.checktable和repairtable登陆mysql终端:mysql-uxxxxx-pdbnamechecktabletabTest;如果出现的结果说Status是OK,则不用修复,如果有Error,可以用:repairtabletabTest;进行修复,修复之后可以在用checktable命令来进行检查。在新版本的phpMyAdmin里面也可以使用check/repair的功能。2.myisamchk,isamchk其中myisamchk适用于MYISAM类型的数据表,而isamchk适用于ISAM类型的数据表。这两条命令的主要参数相同,一般新的系统都使用MYISAM作为缺省的数据表类型,这里以myisamchk为例子进行说明。当发现某个数据表出现问题时可以使用:myisamchktablename.MYI进行检测,如果需要修复的话,可以使用:myisamchk-oftablename.MYI关于myisamchk的详细参数说明,可以参见它的使用帮助。需要注意的时在进行修改时必须确保MySQL服务器没有访问这个数据表,保险的情况下是最好在进行检测时把MySQL服务器Shutdown掉。-----------------------------另外可以把下面的命令放在你的rc.local里面启动MySQL服务器前:&&/pathtochk/myisamchk-of/DATA_DIR/*/*.MYI其中的/tmp/mysql.sock是MySQL监听的Sock文件位置,对于使用RPM安装的用户应该是/var/lib/mysql/mysql.sock,对于使用源码安装则是/tmp/mysql.sock可以根据自己的实际情况进行变更,而pathtochk则是myisamchk所在的位置,DATA_DIR是你的MySQL数据库存放的位置。需要注意的时,如果你打算把这条命令放在你的rc.local里面,必须确认在执行这条指令时MySQL服务器必须没有启动!检测修复所有数据库(表)

求:《数据库》1、什么是事务日志,事务日志包括什么内容 2、了解SQL的GRANT 和REVOKE语句

事务日志是一个与数据库文件分开的文件。它存储对数据库进行的所有更改,并全部记录插入、更新、删除、提交、回退和数据库模式变化。事务日志还称作前滚日志或重做日志。
事务日志是备份和恢复的重要组件,也是使用 SQL Remote 或 复制数据所必需的。
在缺省情况下,所有数据库都使用事务日志。事务日志的使用是可选的,但是,除非您因特殊原因而不使用,否则您应始终使用它。运行带有事务日志的数据库可提供更强的故障保护功能、更好的性能以及数据复制功能。
每个 Microsoft® SQL Server™ 2000 数据库都有事务日志,用以记录所有事务和每个事务对数据库所做的修改。记录事务及其修改有三个作用:
恢复个别的事务。
如果应用程序发出 ROLLBACK 语句,或者 SQL Server 检测到错误(例如失去与客户端的通讯),就使用日志记录回滚未完成的事务所做的修改。
SQL Server 启动时恢复所有未完成的事务。
当运行 SQL Server 的服务器发生故障时,数据库可能处于这样的状态:还没有将修改从高速缓冲存储器写入数据文件,在数据文件内有未完成的事务所做的修改。当启动 SQL Server 的复本时,它对每个数据库执行恢复操作。前滚日志中记录的、可能尚未写入数据文件的每个修改。然后回滚在事务日志中找到的每个未完成的事务,以确保数据库的完整性。
将还原的数据库前滚到故障点。
丢失数据库(在没有 RAID 驱动器的服务器上,硬盘驱动器出现故障时可能会出现这种情况)后,可以将数据库还原到故障点。首先还原上一次的完整数据库备份或差异数据库备份,然后将事务日志备份序列还原到故障点。当还原每个日志备份时,SQL Server 重新应用日志中记录的所有修改以前滚所有事务。当最后的日志备份还原后,SQL Server 将使用日志信息回滚到该点未完成的所有事务。
SQL Server 2000 事务日志的特点是:
事务日志不是作为一个表实现,而是作为单独的文件或数据库内的一组文件实现。日志高速缓存与数据页的高速缓冲存储器分开管理,从而使数据库引擎内的编码更简单、更快速和更可靠。
日志记录和页的格式不必遵守数据页的格式。
事务日志可以在几个文件上实现。可以根据需要定义这些文件为自动增长。这样可减少事务日志内空间不足的可能性,同时减少管理开销。
截断日志中未用部分的机制速度快且对事务吞吐量影响最小。
GRANT是授予权限
REVOKE是撤销权限
GRANT
名称
GRANT — 赋予一个用户,一个组或所有用户访问权限
语法
GRANT privilege
TO { PUBLIC | GROUP group | username }
输入
privilege

可能的权限有:
SELECT
访问声明的表/视图的所有列/字段.
INSERT
向声明的表中插入所有列字段.
UPDATE
更新声明的表所有列/字段.
DELETE
从声明的表中删除所有行.
RULE
在表/视图上定义规则 (参见 CREATE RULE 语句).
ALL
赋予所有权限.
object

赋予权限的对象名.可能的对象是:
table
view
sequence
PUBLIC
代表是所有用户的简写.
GROUP group
将要赋予权限的组 group .
username
将要赋予权限的用户名.PUBLIC 是代表所有用户的简写.
输出
CHANGE
如果成功,返回此信息.
ERROR: ChangeAcl: class “object“ not found
如果所声明的对象不可用或不可能对声明的组或用户赋予权限.
描述
GRANT 允许对象的创建者给某用户或某组或所有用户(PUBLIC)某些特定的权限.对象创建后,除了创建者外,除非创建者赋予(GRANT)权限,其他人没有访问对象的权限.
一旦用户有某对象的权限,他就可以使用那个特权.不需要给创建者赋予(GRANT)对象的权限,创建者自动拥有对象的所有权限,包括删除它的权限.
注意
目前,要想在 Postgres 里面只赋予几列权限,你必须创建一个包含那几列的视图(view),然后把权限赋予那几个视图。
使用 psql \z 命令获取关于现存对象权限的更多信息:
Database = lusitania
+——————+———————————————+
| Relation | Grant/Revoke Permissions |
+——————+———————————————+
| mytable | {“=rw“,“miriam=arwR“,“group todos=rw“} |
+——————+———————————————+
Legend:
uname=arwR — privileges granted to a user
group gname=arwR — privileges granted to a GROUP
=arwR — privileges granted to PUBLIC
r — SELECT
w — UPDATE/DELETE
a — INSERT
R — RULE
arwR — ALL
参考 REVOKE 语句废除访问权限.
用法
给所有用户向表 films 插入记录的权限:
GRANT INSERT ON films TO PUBLIC;
赋予用户 manuel 操作视图 kinds 的所有权限:
GRANT ALL ON kinds TO manuel;
兼容性
SQL92
SQL92 GRANT 语法允许对表中的某单独列/字段设置权限,并且允许设置一权限以赋予别人相同权限:
GRANT privilege
ON object
TO { PUBLIC | username
这些字段与 Postgres 实现是兼容的,除了下面一些例外:
privilege
SQL92 允许声明附加的权限:
SELECT
REFERENCES
允许在一个声明的表的完整性约束中使用某些或全部列/字段.
USAGE
允许使用一个域,字符集,集合或事务.如果声明的对象不是表/视图, privilege 只能声明为 USAGE.
object
table
SQL92 允许一个附加的非功能性关键字 TABLE.
CHARACTER SET
允许使用声明的字符集.
COLLATION
允许使用声明的集合序列.
TRANSLATION
允许使用声明的字符集转换.
DOMAIN
允许使用声明的域.
WITH GRANT OPTION
允许向别人赋予同样权限.

撤销授权语句使用的动词

您要问的是撤销授权语句使用的动词是什么?撤销授权语句没有使用的动词。MySQL常用知识点详解显示:grant为授权语句,对应的revoke是撤销授权语句,没有使用的动词,事务处理语言能确保被DML语句影响的表的所有行及时得以更新。

oracle中怎么使用revoke撤销授权!

直接revoke即可:
SQL》 revoke create any table,create any view,select any table,drop any table from scott;

请用SQL的GRANT 和REVOKE语句(加上视图机制)完成以下授权定义或存取控制功能:

GRANT SELECT ON 职工,部门 TO 王明
GRANT INSERT,DELETE ON 职工,部门TO 李勇
GRANT SELECT ON 职工 WHEN USER()=NAME TO ALL;
GRANT ALL PRIVILIGES ON 职工,部门 TO 周平
WITH GRANT OPTION;

数据库的安全性 GRANT、REVOKE什么意思

首先什么是数据库安全
简单来说数据库允许你读取数据,修改。删除。插入。你才能对数据库中的数据进行这4个方面的操作.
那GRANT就是授权的语句只有对用户授权才能对数据库中的数据做. 读取.修改.删除.插入操作
REVOKE就是收回权限语句.那收回了你自然就没有权限再访问数据库的相关操作.
具体语句格式可以查下.

数据库中的DROP,GRANT REVORK分别是干什么用的

数据库中的DROP是用来从数据库中删除已存在的表,或从表中删除已存在的索引。语法为DROP {TABLE表 | INDEX索引 ON表 | PROCEDURE procedure | VIEW view}。

数据库中的GRANT是用来给某用户或某组或所有用户(PUBLIC)提供某些特定的权限。语法为GRANt 《权限》。

数据库中的REVORK是用来收回给某用户或某组或所有用户(PUBLIC)提供的某些权限。语法为REVOKE《权限》。

扩展资料:

数据库中使用DROP必须先关闭表,然后才能删除此表或此表中的索引。也可以使用 ALTER TABLE 语句 来删除表中的索引。对于非微软数据库, Microsoft Jet数据库引擎不支持DROP或 DDL 语句的使用。应采用 DAO Delete 方法。

数据库中除了创建者外,除非创建者赋予(GRANT)权限,其他人没有访问对象的权限。一旦用户有某对象的权限,他就可以使用那个特权。不需要给创建者赋予(GRANT)对象的权限,创建者自动拥有对象的所有权限,包括删除它的权限。

请用SQL的GRANT 和REVOKE语句(加上视图机制)完成以下授权定义或存取控制功能:

如何让数据库的用户,只能 SELECT 到自己 INSERT 的数据。如何让数据库的用户,只能看到自己创建的数据。
–创建测试表
— 3个字段,1自增主键,1数据,1所有者。
CREATE TABLE B (
ID INT identity(1, 1) PRIMARY KEY,
DATA VARCHAR(10),
OWNER VARCHAR(20)
);
go

— 视图,隐藏所有者这一列
— 并强制只能检索 所有者 = 当前登录用户
CREATE VIEW VB AS
SELECT
ID, DATA
FROM
B
WHERE
OWNER = user;
go

— 首先插入3条数据,模拟用户 A,B,C
INSERT INTO B
SELECT ’A’, ’A’ UNION ALL
SELECT ’B’, ’B’ UNION ALL
SELECT ’C’, ’C’
go

–然后 创建触发器,确保插入数据的时候,OWNER = 当前登录用户.
CREATE TRIGGER BeforeInsertB
ON B
FOR INSERT
AS
BEGIN
UPDATE
B
SET
Owner = user
FROM
B JOIN INSERTED ON (B.id = INSERTED.ID);
END
go
— 开始模拟自己的插入
INSERT INTO VB VALUES( ’Me’ );
GO
— 尝试检索
SELECT * FROM VB
GO
ID DATA
———– ———-
4 Me
(1 行受影响)
只看到自己插入的数据。
— 下面去 创建 A , B 用户。
CREATE LOGIN A
WITH PASSWORD=’A’,
DEFAULT_DATABASE=,
DEFAULT_LANGUAGE=,
CHECK_EXPIRATION=OFF,
CHECK_POLICY=OFF;
CREATE LOGIN B
WITH PASSWORD=’B’,
DEFAULT_DATABASE=,
DEFAULT_LANGUAGE=,
CHECK_EXPIRATION=OFF,
CHECK_POLICY=OFF;
CREATE USER
FOR LOGIN ;
CREATE USER
FOR LOGIN ;
— 对 A,B 用户进行 VIEW 的授权,
GRANT
INSERT, SELECT, UPDATE
ON
TO A;
GRANT
INSERT, SELECT, UPDATE
ON
TO B;
GO
— 分别以 A 用户 和 B 用户进行登录,并查询。
E:\》sqlcmd -S “localhost\SQLEXPRESS“ -U A -P A
1》 use test
2》 select * from vb
3》 go
已将数据库上下文更改为 ’test’。
ID DATA
———– ———-
1 A
(1 行受影响)
1》 select * from B
2》 go
消息 229,级别 14,状态 5,服务器 HOME-BED592453C\SQLEXPRESS,第 1 行
拒绝了对对象 ’B’ (数据库 ’test’,架构 ’dbo’)的 SELECT 权限。
E:\》sqlcmd -S “localhost\SQLEXPRESS“ -U B -P B
1》 use test
2》 go
已将数据库上下文更改为 ’test’。
1》 select * from vb
2》 go
ID DATA
———– ———-
2 B
(1 行受影响)
1》 select * from B
2》 go
消息 229,级别 14,状态 5,服务器 HOME-BED592453C\SQLEXPRESS,第 1 行
拒绝了对对象 ’B’ (数据库 ’test’,架构 ’dbo’)的 SELECT 权限。
1》 INSERT INTO vb VALUES (’B Only’);
2》 go
(1 行受影响)
1》 select * FROM VB;
2》 go
ID DATA
———– ———-
2 B
5 B Only
(2 行受影响)

结果显示,A,B用户登录以后,只能看到 Owner = 自己的数据。
因为只有对 View 有权限,对原始的表没有权限,因此看不到别人的数据。