当前位置:C++技术网 > 资讯 > mysql数据库30个权限的分类说明

mysql数据库30个权限的分类说明

更新时间:2017-01-20 00:29:54浏览次数:1+次

    所有的权限一共30个。下面按照权限的分类粗略的分类一下,然后简单描述一下权限的作用。
    管理权限(如 super, process, file等)不能够指定某个数据库,on后面必须跟*.*。不要把file, process, super权限授予管理员以外的账号,这样存在严重的安全隐患。

    其中数据表和数据的操作的权限就不解释了,就是我们SQL最常见的操作需要的权限。


全部权限
all  拥有下面的所有权限。

管理员权限
file 允许执行select ..into outfile和load data infile…。
process  允许执行show processlist和kill命令。默认情况下,每个用户都可以执行SHOW PROCESSLIST命令,但是只能查询本用户的进程。
reload  必须拥有reload权限,才可以执行flush [tables | logs | privileges]。
super   允许用户终止任何查询;修改全局变量的SET语句;使用CHANGE MASTER,PURGE MASTER LOGS。

杂项权限
references  有了REFERENCES权限,用户就可以将其它表的一个字段作为某一个表的外键约束。
event 允许事件的创建、修改、删除。
trigger 允许创建和使用触发器。

服务器操作组
replication client  允许查询master server、slave server状态。
replocation slave   允许查看从服务器,从主服务器读取二进制日志。

索引操作组
index  必须拥有index权限,才能执行[create |drop] index

存储过程操作组
create routine  必须具有create routine的权限,才可以使用{create |alter|drop} {procedure|function}。当授予create routine时,自动授予EXECUTE, ALTER ROUTINE权限给它的创建者。
alter routine  必须具有alter routine的权限,才可以使用{alter |drop} {procedure|function}
execute  允许执行已存在的Functions,Procedures(存储过程)
    
视图操作组
show view   必须拥有show view权限,才能执行show create view
create view  必须有create view的权限,才可以使用create view

程序操作组
shutdown  允许关闭mysql

权限操作组
grant option  允许将自己拥有的权限授予其他用户(仅限于自己已经拥有的权限)。

用户操作组
create user  允许创建用户
usage 只允许登录,不可撤销此权限。

数据库操作组
show databases  允许显示数据库。通过show database只能看到你拥有的某些权限的数据库,除非你拥有全局SHOW DATABASES权限。

表操作组
create
drop
alter
lock tables  允许锁表。
create temporary tables 允许创建临时表。

数据操作组
insert delete update select