MySQL权限级别

来源:互联网 发布:通用摄像头监控软件 编辑:程序博客网 时间:2024/05/22 10:43

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 两种


0 0
原创粉丝点击