Ⅰ 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、首先用管理員進入資料庫級中的安全性,點擊登錄名,點擊新建登錄名。