导航:首页 > 数据处理 > 数据库权限有哪些

数据库权限有哪些

发布时间:2022-04-30 18:26:05

Ⅰ oracle数据库用户给哪些权限

一般最高权限需要connect,resource,dba这三个即可。

语句:
grant connect,resource,dba to 用户;

权限说明:

dba:拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。
resource:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。
connect:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。

Ⅱ MySQL的权限有哪些

MySQL各种权限(共27个)
(以下操作都是以root身份登陆进行grant授权,以p1@localhost身份登陆执行各种命令。)
1. usage
连接(登陆)权限,建立一个用户,就会自动授予其usage权限(默认授予)。
mysql> grant usage on *.* to ‘p1′@’localhost’ identified by ‘123′;
该权限只能用于数据库登陆,不能执行任何操作;且usage权限不能被回收,也即REVOKE用户并不能删除用户。
2. select
必须有select的权限,才可以使用select table
mysql> grant select on pyt.* to ‘p1′@’localhost’;
mysql> select * from shop;
3. create
必须有create的权限,才可以使用create table
mysql> grant create on pyt.* to ‘p1′@’localhost’;
4. create routine
必须具有create routine的权限,才可以使用{create |alter|drop} {procere|function}
mysql> grant create routine on pyt.* to ‘p1′@’localhost’;
当授予create routine时,自动授予EXECUTE, ALTER ROUTINE权限给它的创建者:
mysql> show grants for ‘p1′@’localhost’;
+—————————————————————————+
Grants for p1@localhost
+————————————————————————–+
| GRANT USAGE ON *.* TO ‘p1′@’localhost’ IDENTIFIED BY PASSWORD ‘*′ |
| GRANT SELECT, CREATE, CREATE ROUTINE ON `pyt`.* TO ‘p1′@’localhost’|
| GRANT EXECUTE, ALTER ROUTINE ON PROCEDURE `pyt`.`pro_shop1` TO ‘p1′@’localhost’ |
+————————————————————————————-+
5. create temporary tables(注意这里是tables,不是table)
必须有create temporary tables的权限,才可以使用create temporary tables.
mysql> grant create temporary tables on pyt.* to ‘p1′@’localhost’;
[mysql@mydev ~]$ mysql -h localhost -u p1 -p pyt
mysql> create temporary table tt1(id int);
6. create view
必须有create view的权限,才可以使用create view
mysql> grant create view on pyt.* to ‘p1′@’localhost’;
mysql> create view v_shop as select price from shop;
7. create user
要使用CREATE USER,必须拥有mysql数据库的全局CREATE USER权限,或拥有INSERT权限。
mysql> grant create user on *.* to ‘p1′@’localhost’;
或:mysql> grant insert on *.* to p1@localhost;
8. insert
必须有insert的权限,才可以使用insert into ….. values….
9. alter
必须有alter的权限,才可以使用alter table
alter table shop modify dealer char(15);
10. alter routine
必须具有alter routine的权限,才可以使用{alter |drop} {procere|function}
mysql>grant alter routine on pyt.* to ‘p1′@’ localhost ‘;
mysql> drop procere pro_shop;
Query OK, 0 rows affected (0.00 sec)

mysql> revoke alter routine on pyt.* from ‘p1′@’localhost’;
[mysql@mydev ~]$ mysql -h localhost -u p1 -p pyt
mysql> drop procere pro_shop;
ERROR 1370 (42000): alter routine command denied to user ‘p1′@’localhost’ for routine ‘pyt.pro_shop’
11. update
必须有update的权限,才可以使用update table
mysql> update shop set price=3.5 where article=0001 and dealer=’A';
12. delete
必须有delete的权限,才可以使用delete from ….where….(删除表中的记录)
13. drop
必须有drop的权限,才可以使用drop database db_name; drop table tab_name;
drop view vi_name; drop index in_name;
14. show database
通过show database只能看到你拥有的某些权限的数据库,除非你拥有全局SHOW DATABASES权限。
对于p1@localhost用户来说,没有对mysql数据库的权限,所以以此身份登陆查询时,无法看到mysql数据库:
mysql> show databases;
+——————–+
| Database |
+——————–+
| information_schema|
| pyt |
| test |
+——————–+
15. show view
必须拥有show view权限,才能执行show create view。
mysql> grant show view on pyt.* to p1@localhost;
mysql> show create view v_shop;
16. index
必须拥有index权限,才能执行[create |drop] index
mysql> grant index on pyt.* to p1@localhost;
mysql> create index ix_shop on shop(article);
mysql> drop index ix_shop on shop;
17. excute
执行存在的Functions,Proceres
mysql> call pro_shop1(0001,@a);
+———+
| article |
+———+
| 0001 |
| 0001 |
+———+
mysql> select @a;
+——+
| @a |
+——+
| 2 |
+——+
18. lock tables
必须拥有lock tables权限,才可以使用lock tables
mysql> grant lock tables on pyt.* to p1@localhost;
mysql> lock tables a1 read;
mysql> unlock tables;
19. references
有了REFERENCES权限,用户就可以将其它表的一个字段作为某一个表的外键约束。
20. reload
必须拥有reload权限,才可以执行flush [tables | logs | privileges]
mysql> grant reload on pyt.* to p1@localhost;
ERROR 1221 (HY000): Incorrect usage of DB GRANT and GLOBAL PRIVILEGES
mysql> grant reload on *.* to ‘p1′@’localhost’;
Query OK, 0 rows affected (0.00 sec)
mysql> flush tables;
21. replication client
拥有此权限可以查询master server、slave server状态。
mysql> show master status;
ERROR 1227 (42000): Access denied; you need the SUPER,REPLICATION CLIENT privilege for this operation
mysql> grant Replication client on *.* to p1@localhost;
或:mysql> grant super on *.* to p1@localhost;
mysql> show master status;
+——————+———-+————–+——————+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+——————+———-+————–+——————+
| mysql-bin.000006 | 2111 | | |
+——————+———-+————–+——————+
mysql> show slave status;
22. replication slave
拥有此权限可以查看从服务器,从主服务器读取二进制日志。
mysql> show slave hosts;
ERROR 1227 (42000): Access denied; you need the REPLICATION SLAVE privilege for this operation
mysql> show binlog events;
ERROR 1227 (42000): Access denied; you need the REPLICATION SLAVE privilege for this operation
mysql> grant replication slave on *.* to p1@localhost;
mysql> show slave hosts;
Empty set (0.00 sec)
mysql>show binlog events;
+—————+——-+—————-+———–+————-+————–+
| Log_name | Pos | Event_type | Server_id| End_log_pos|Info | +—————+——-+————–+———–+————-+—————+
| mysql-bin.000005 | 4 | Format_desc | 1 | 98 | Server ver: 5.0.77-log, Binlog ver: 4 | |mysql-bin.000005|98|Query|1|197|use `mysql`; create table a1(i int)engine=myisam|
……………………………………
23. Shutdown
关闭MySQL:
[mysql@mydev ~]$ mysqladmin shutdown
重新连接:
[mysql@mydev ~]$ mysql
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)
[mysql@mydev ~]$ cd /u01/mysql/bin
[mysql@mydev bin]$ ./mysqld_safe &
[mysql@mydev bin]$ mysql
24. grant option
拥有grant option,就可以将自己拥有的权限授予其他用户(仅限于自己已经拥有的权限)
mysql> grant Grant option on pyt.* to p1@localhost;
mysql> grant select on pyt.* to p2@localhost;
25. file
拥有file权限才可以执行 select ..into outfile和load data infile…操作,但是不要把file, process, super权限授予管理员以外的账号,这样存在严重的安全隐患。
mysql> grant file on *.* to p1@localhost;
mysql> load data infile ‘/home/mysql/pet.txt’ into table pet;
26. super
这个权限允许用户终止任何查询;修改全局变量的SET语句;使用CHANGE MASTER,PURGE MASTER LOGS。
mysql> grant super on *.* to p1@localhost;
mysql> purge master logs before ‘mysql-bin.000006′;
27. process
通过这个权限,用户可以执行SHOW PROCESSLIST和KILL命令。默认情况下,每个用户都可以执行SHOW PROCESSLIST命令,但是只能查询本用户的进程。
mysql> show processlist;
+—-+——+———–+——+———+——+——-+——————+
| Id | User | Host | db | Command | Time | State | Info |
+—-+——+———–+——+———+——+——-+——————+
| 12 | p1 | localhost | pyt | Query | 0 | NULL | show processlist |
+—-+——+———–+——+———+——+——-+——————+
另外,
管理权限(如 super, process, file等)不能够指定某个数据库,on后面必须跟*.*
mysql> grant super on pyt.* to p1@localhost;
ERROR 1221 (HY000): Incorrect usage of DB GRANT and GLOBAL PRIVILEGES
mysql> grant super on *.* to p1@localhost;
Query OK, 0 rows affected (0.01 sec)

Ⅲ 用户访问数据库的权限有哪几种

用户在具有了访问数据库的权限之后,就可以授予其访问数据库对象的权限了。可授予对象的权限包括以下几种:
�8�5 �8�5 SELECT
允许用户对表或视图发出SELECT语句。
�8�5 �8�5 INSERT
允许用户对表或视图发出INSERT语句。
�8�5 �8�5 UPDATE
允许用户对表或视图发出UPDATE语句。
�8�5 �8�5 DELETE
允许用户对表或视图发出DELETE语句。
�8�5 �8�5 EXECUTE
允许用户对存储过程发出EXECUTE语句。

Ⅳ 什么是权限用户访问数据库有哪些权限

权限 是指为了保证职责的有效履行,任职者必须具备的,对某事项进行决策的范围和程度。它常常用“具有批准……事项的权限”来进行表达。例如,具有批准预算外5000元以内的礼品费支出的权限。
只有在需要让某些登录用户具有不同的访问权限时,该构造块才是必需的。如果您只是要求用户登录,则不需要存储访问权限。

如果您需要让某些登录用户具有不同的访问权限,请确保用户数据库表格包含一个特定的列,该列指定每个用户的访问权限(“来宾”、“用户”、“管理员”等)。每个用户的访问权限应该由站点管理员在数据库中输入。

在大多数数据库应用程序中,每当新建一个记录时,可以将一个列设置为默认值。将该默认值设置为站点上最常用的访问权限(例如“来宾”);然后手动更改例外的情况(例如,将“来宾”更改为“管理员”)。用户现在即可访问所有管理员页。

确保数据库中的每个用户都具有单一的访问权限(例如“来宾”或“管理员”),而不是多项权限(例如“用户、管理员”)。如果要为您的页设置多项访问权限(例如,所有来宾和管理员都可以查看该页),则在页级别(而不是在数据库级别)设置这些权限。

Ⅳ 数据库的权限管理

超级管理员可以对数据库增删改查,可以添加登录帐号,可以给用户分配权限。
普通用户操作数据库的权限是由超级管理员来分配的,

Ⅵ 数据库的访问权限都有什么

怎样允许他人查看或执行查询,但不能更改数据或查询设计?

答:在安全工作组里,可以指定他人查看查询返回数据的权限。如果是操作查询,还可以允许他们执行查询,即使限制他们不得查看查询的基表或基础查询。

1、在“设计”视图中打开查询。
2、在查询“设计”视图中单击设计网格与字段列表外的任何地方,以选定查询。
3、单击工具栏上的“属性”按钮 ,以显示查询的属性表。
4、将“执行权限”属性设置为“所有者的”。

设置了此属性后,应出现以下情形:

所有用户都具有查询所有者的查看或执行查询权限。
只有查询所有者才能保存更改过的查询。
只有查询所有者才能更改查询的所有权。

注释 也可以设置所有新查询的默认权限。请在“工具”菜单上单击“选项”,再单击“表/查询”选项卡,然后单击想要使用的“执行权限”选项。

问:怎样定义用户级安全?

答:

1、加入一个安全工作组或新建一个工作组信息文件。
要点 要完全确保数据库的安全,请不要使用安装 Microsoft Access
时创建的工作组信息文件所定义的默认工作组。而应该确保定义所加入的工作组的工作组信息文件是使用唯一的工作组 ID (WID) 创建的,否则应该创建一个新的工作组。

2、激活“登录”对话框。
操作方法:启动 Microsoft Access ,打开数据库,
单击“工具”菜单“安全”子菜单中的“用户与组帐号”命令,单击“用户”选项卡,确保在“名称”框中预定义的“管理员”用户帐号呈高亮度显示,单击“更改登录密码”选项卡,单击“新密码”框,然后键入新密码。不要在“旧密码”框中输入任何内容,
在“验证”框中再次键入密码进行确认,然后单击“确定”按钮。退出ACCESS并重新启动ACCESS,就会出现“登录”对话框。

3、创建管理员的用户帐号。
操作方法:
1)打开工作组管理器,按下“联接。。。”按钮,选择 使用在第1 步骤中创建的安全工作组信息文件,退出管理器,启动 Microsoft Access。
要点 如果要确保数据库是完全安全的,请不要使用安装 Microsoft Access
时创建的工作组信息文件中定义的默认工作组,并确保定义所用工作组的工作组信息文件是以唯一的工作组 ID (WID) 创建的,否则就应该重新创建一个工作组信息文件。

2)选择“工具”菜单“安全”子菜单中的“用户与组帐号”命令,单击“用户”选项卡上的“新建”按钮, 在“新用户/组”对话框中,键入管理员帐号名称和个人 ID
(PID),然后单击“确定”按钮新建帐号。
警告 一定要记住正确的帐号名和 PID,包括字母的大小写,并其将其放在安全的地方。如果要重新创建帐号,必须提供其名称和 PID。遗忘或丢失了帐号名和 PID
将无法恢复。

3)在“可用的组”框中,单击“管理员组”,然后单击“添加”按钮。Microsoft Access
将把新的管理员帐号添加到管理员组并在“隶属于”框中显示“管理员组”。

4)单击“确定”按钮新建管理员帐号。

4、退出 Microsoft Access 并以新建的管理员身份登录。

5、删除管理员组中的管理员帐号。
操作方法:选择“工具”菜单“安全”子菜单中的“用户与组帐号”命令,在“用户”选项卡上的“名称”框中输入要移去的用户。在“隶属于”框中,选择要“管理员组”的组,然后单击“删除”按钮。

6、打开要设置安全的数据库。

7、单击“工具”菜单“安全”子菜单中的“用户级安全性向导”命令。

8、根据向导对话框中的指示完成各个步骤。 ]

“用户级安全性向导”将创建一个新的数据库,并将原有数据库中所有对象的副本导出到新的数据库中,然后通过取消用户组对新数据库对象的所有权限,为向导第一个对话框中的选定对象类型设置安全,然后加密新数据库。原有数据库没有进行任何更改。表之间的关系和所有的链接表在新的数据库中都将重建。

现在,只有在步骤 1
中加入的工作组管理员组成员可以访问新数据库中设置了安全的对象。“用户”组则不具备对这些对象的权限。要限制用户和/或组对这些对象的访问必须为其设置权限。

另外,你可以定义不同的试图,这样就给不同的人,不同的信息表示了

Ⅶ Oracle数据库面试题 用户的权限都有哪些

系统权限: 允许用户执行特定的数据库动作,如创建表、创建索引、连接实例等(对用户而言)
对象权限: 允许用户操纵一些特定的对象,如读取视图,可更新某些列、执行存储过程等(是针对表或视图而言的)
1.系统权限
超过一百多种有效的权限(SELECT * FROM SYSTEM_PRIVILEGE_MAP查)
数据库管理员具有高级权限以完成管理任务,例如:
–创建新用户
–删除用户
–删除表
–备份表
系统权限分类:
DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。
RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。
CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。
对于普通用户:授予connect, resource权限。
对于DBA管理用户:授予connect,resource, dba权限。
a.常用的系统权限:
CREATE SESSION 创建会话
CREATE SEQUENCE 创建序列
CREATE SYNONYM 创建同名对象
CREATE TABLE 在用户模式中创建表
CREATE ANY TABLE 在任何模式中创建表
DROP TABLE 在用户模式中删除表
DROP ANY TABLE 在任何模式中删除表
CREATE PROCEDURE 创建存储过程
EXECUTE ANY PROCEDURE 执行任何模式的存储过程
CREATE USER 创建用户
DROP USER 删除用户
CREATE VIEW 创建视图
2.对象权限
不同的对象具有不同的对象权限
对象的拥有者拥有所有权限
对象的拥有者可以向外分配权限
ORACLE一共有种对象权限
对象权限 表 视图 序列 过程
修改(alter) √ √
删除(delete) √ √
执行(execute) √
索引(index) √
插入(insert) √ √
关联(references) √ √
选择(select) √ √ √
更新(update) √ √

Ⅷ MySQL的权限有哪些

mysql常用的权限:
CREATE 数据库、表或索引创建权限
DROP 数据库或表删除权限
GRANT OPTION 数据库、表或保存的程序权限
REFERENCES 数据库或表
ALTER 更改表,比如添加字段、索引等
DELETE 删除数据权限
INDEX 索引权限
INSERT 插入权限
SELECT 查询权限
UPDATE 更新权限
CREATE VIEW 视图,创建视图权限
SHOW VIEW 视图,视图权限
ALTER ROUTINE 存储过程,更改存储过程权限
CREATE ROUTINE 存储过程,创建存储过程权限
EXECUTE 存储过程,执行存储过程权限

Ⅸ 数据库固定的8个服务器角色各有什么权限

8的等级最高,相当于sqlserver的sa账户和oracle的sysadmin,可以做一切操作,包括以下七种角色,事实上一般以下七种角色的权限都是他来指派的,企业中一般严禁这个账户登陆的,因为一旦误操作将会造成灾难性损失。
1管理数据库大小,数据空间大小以及数据日志大小等
2拥有建立数据库的权限
3对已经分配磁盘空间进行分配
4可以管理进程,比如剔除一些非法进程
5可以管理连接权限,用户权限等。
6这个可以启动服务器,对服务器的属性进行分配(连接池、cpu、内存空间等),貌似是sqlserver特有
7这个角色很多数据库是没有的,比如sqlserver2000就是没有的,oracle8以前好像也是没有的,可以安装数据库以及删除数据库(在非常安全控制地方这种账户是没有连接权限的,也就是说只能安装,但是不能读取里面的数据)

这些权限各不相同,所以很难说是对服务器的还是数据库的,比如7这种,根本说不上是不是服务器级别的,因为它只有安装权限,可以认为是系统级别的,事实上,只有sqlserver存在服务器和数据库的区别,一般的诸如db2和oracle中的所谓服务器指的是那台机器而不是一个sqlserver意义上的服务器,具体情况具体对待

其实主要角色不止这些,还有诸如备份管理员backupadmin,数据清理员英文忘记了等等。

Ⅹ 如何设置数据库的权限

1、首先用管理员进入数据库级中的安全性,点击登录名,点击新建登录名。



阅读全文

与数据库权限有哪些相关的资料

热点内容
怎么代理一堆儿童用品 浏览:322
前男友发信息说真不知道你想什么 浏览:239
打篮球技术不好被排挤如何训练 浏览:387
涉嫌股票交易异常多久自动解封 浏览:908
安阳家具市场什么时候放假 浏览:750
2019考科一电脑程序怎么用 浏览:589
八珍矿泉水怎么代理 浏览:421
直播怎么上不了橱窗产品 浏览:635
技术咨询公司怎么经营 浏览:199
图书代理如何做 浏览:936
数据挖掘的商业价值是什么 浏览:59
健身塑形产品怎么买 浏览:844
如何查个人登记信息 浏览:208
欣赏相片用什么产品 浏览:805
c程序怎么实现排列 浏览:297
为什么微信收钱要填信息 浏览:621
如何查看微信小程序审查元素 浏览:325
测试程序怎么清除不良 浏览:671
上海高端灯具市场有哪些 浏览:419
菜市场卖菜用什么货架 浏览:51