程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL權限級別

MySQL權限級別

編輯:MySQL綜合教程

MySQL 中的權限分為五個級別,分別如下:

1、Global Level:

Global Level 的權限控制又稱為全局權限控制,所有權限信息都保存在mysql.user 表中。

Global Level 的所有權限都是針對整個mysqld 的,對所有的數據庫下的所有表及所有字段都有效。

GRANT SELECT,UPDATE,DELETE,INSERT ON *.* TO 'def'@'localhost';

Global Level 主要有如下這些權限(以下為5.0.3以上版本擁有權限)

\

2、Database Level

Database Level 其作用域即為所指定整個數據庫中的所有對象。

GRANT ALTER ON test.* TO 'def'@'localhost';

GRANT DROP ON * TO 'def'@'localhost';

Database Level 主要少了以下幾個權限:CREATE USER,FILE,PROCESS,RELOAD,

REPLICATION CLIENT,REPLICATION SLAVE,

SHOW DATABASES,SHUTDOWN,SUPER 和USAGE 這幾個權限,沒有增加任何權限。

3、Table Level

Table Level 的權限作用范圍是授權語句中所指定數據庫的指定表。

GRANT INDEX ON test.t1 TO 'abc'@'%.jianzhaoyang.com';

Table Level 的權限由於其作用域僅限於某個特定的表,所以權限種類也比較少,僅有
ALTER,CREATE,DELETE,DROP,INDEX,INSERT,SELECT UPDATE 這八種權限。

4、Column Level

Column Level 的權限作用范圍就更小了,僅僅是某個表的指定的某個(活某些)列。

GRANT SELECT(id,value) ON test.t2 TO 'abc'@'%.XXX';

Column Level 級別的權限僅有 INSERT , SELECT 和 UPDATE 這三種。

5、Routine Level

Routine Level 主要針對的對象是procedure 和function 這兩種對象,在授予Routine Level 權限的時候,需要指定數據庫和相關對象

GRANT EXECUTE ON test.p1 to 'abc'@'localhost';

Routine Level 的權限主要只有EXECUTE 和ALTER ROUTINE 兩種

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved